- offsetof()
在 #include<stddef.h>中
C 库宏 offsetof(type, member-designator) 会生成一个类型为 size_t 的整型常量,它是一个结构成员相对于结构开头的字节偏移量。成员是由 member-designator 给定的,结构的名称是在 type 中给定的。
#include <stddef.h>
#include <stdio.h>
struct address {
char name[50];
char street[50];
int phone;
};
int main()
{
printf("address 结构中的 name 偏移 = %d 字节。\n", offsetof(struct address, name)); //0
printf("address 结构中的 street 偏移 = %d 字节。\n", offsetof(struct address, street)); //50
printf("address 结构中的 phone 偏移 = %d 字节。\n", offsetof(struct address, phone)); //100
return(0);
}