您的位置:首页 > 其它

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

2011-04-01 20:49 344 查看
写出一个宏,求任意结构体成员相对于结构体首地址的偏移。
#define _____________________

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

因为是求偏移量 所以假设结构体的首地址是0开始,把他转换成结构体指针类型,在用-》取得他的成员,前面加了一个& 就是取得这个成员的地址,最后在强制转换成unsigned long,这样就得到了偏移量。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐