关于取得结构体成员变量偏移量的获取!
大家都知道结构体成员的变量可以通过下面的宏得到:
#define OFFSET(structure, member) ((int) &((structure *)0)->member)
我对那个“0”的来龙去脉还不清楚,盼高人指点!最好能把这个“0”从创建之初到后面的类型也作个说明。
另外还有一种是:
offset = (unsigned long)(&((MYSTRUCT *)0)->iValue2 - (unsigned long *)0;
不知道哪种方式更好一点呢?