offsetof,程序语言,该宏用于求结构体中一个成员在该结构体中的偏移量。
头文件:stddef.h
宏形式:
size_t offsetof( structName, memberName )
说明:
1. 第一个参数是结构体的名字,第二个参数是结构体成员的名字。
2. 该宏返回结构体structName中成员memberName的偏移量。偏移量是size_t类型的。
代码实现如下:
typedef struct S { char a; char c; int b; }S; #define OFFSETOF(type,name) ((int)&(((type*)0)->name)) int main() { printf("%dn", OFFSETOF(S, a)); printf("%dn", OFFSETOF(S, c)); printf("%dn", OFFSETOF(S, b)); return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)