在ANSI C中,offsetof定义如下。
#define offsetof(st, m) \
((size_t) ( (char *)&((st *)(0))->m - (char *)0 ))
为什么由于我们取消引用NULL指针,这为什么不会引发分段错误?还是这种编译器黑客看到了偏移量的唯一地址,因此它静态地计算了地址而没有实际取消引用呢?此代码也可移植吗?
慕侠2389804
精慕HU
相关分类