gpt4 book ai didi

c - 获取结构中数组元素的地址

转载 作者:太空狗 更新时间:2023-10-29 15:02:42 26 4
gpt4 key购买 nike

如何通过结构指针获取数组元素的地址?

我有一个示例代码如下:

#include<stdio.h>
#include<string.h>

typedef struct {
int mynam ;
} transrules;

typedef struct {
int ip ;
int udp;
transrules rules[256];

}__attribute__ ((__packed__)) myudp;

myudp udpdata ;
myudp* ptrudp = &udpdata ;

int main(){

memset (&udpdata , 0 ,sizeof(udpdata));
ptrudp->ip = 12 ;
ptrudp->udp = 13 ;
ptrudp->rules[0].mynam = 15 ;
printf("%d",ptrudp->rules[0].mynam);
return 0;

}

我的函数希望将 rules[0] 的地址作为参数传递。是否可以打印 rule[0] 的地址或事实上任何 rule[n] 的地址?

最佳答案

Is it possible to print the address of the rule[0] or as a matter of fact any i.e rule[n]

是的,这是可能的:

printf("%p\n", (void *) &ptrudp->rules[i]); /* Cast required by %p. */

以同样的方式,您可以将指向 rules[i] 的指针传递给您的函数。

关于c - 获取结构中数组元素的地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12286565/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com