C学习笔记 7 写出一个宏,求任意结构体成员相对于结构体首地址的偏移。

来源:互联网 发布:网站推广软件 编辑:程序博客网 时间:2024/04/27 12:38

写出一个宏,求任意结构体成员相对于结构体首地址的偏移。
#define _____________________

#define STRUCT_OFFSET(id, element) (( unsigned long ) &(( struct id*) 0 )->element)


因为是求偏移量 所以假设结构体的首地址是0开始,把他转换成结构体指针类型,在用-》取得他的成员,前面加了一个& 就是取得这个成员的地址,最后在强制转换成unsigned long,这样就得到了偏移量。

原创粉丝点击