struct struc {
int a;
char b[20];
double c;
};
#define FIND(struc,e) (size_t)&(((struc*)0)->e)
FIND(struc, a) 返回0
FIND(struc, b) 返回4
FIND(struc, c) 返回24
这篇博客探讨了C语言中结构体(struct)的定义和使用,以及如何通过指针运算(FIND宏)来获取结构体成员的偏移量。示例中展示了FIND宏的用法,如FIND(struc,a)返回0,FIND(struc,b)返回4,FIND(struc,c)返回24,揭示了结构体内存布局的细节。
struct struc {
int a;
char b[20];
double c;
};
#define FIND(struc,e) (size_t)&(((struc*)0)->e)
FIND(struc, a) 返回0
FIND(struc, b) 返回4
FIND(struc, c) 返回24
345

被折叠的 条评论
为什么被折叠?
