====== 结构体成员Offset ====== 有一种空指针(NULL)的特殊用法,将其强制转换为某种结构体类型,然后获取该结构体某成员的地址偏移量(offset): #define OFFSET(type, field) \ ((size_t)&((type *)0)->field) 虽然该代码经常可以工作,但C标准并没有明确定义该行为。 其实,C标准头文件stddef.h已经定义了一个相同功能的宏offsetof,可以直接使用,而不必自己实现。 {{tag>C语言}}