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;
}



