📅  最后修改于: 2023-12-03 15:33:16.888000             🧑  作者: Mango
OFFSETOF()宏是C语言提供的一个常用宏,用于计算结构体成员距离结构体首地址的偏移量。
OFFSETOF(type, member)
参数说明:
返回值:成员距离结构体首地址的偏移量。
下面举个例子说明OFFSETOF()宏的用法:
#include <stddef.h>
#include <stdio.h>
#define OFFSETOF(type, member) (size_t)&((type *)0)->member
struct test {
int a;
int b;
char c;
};
int main() {
size_t offset = OFFSETOF(struct test, c);
printf("偏移量:%d\n", offset);
return 0;
}
输出结果为:
偏移量:8
解释一下这个例子: