Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1320746
  • 博文数量: 179
  • 博客积分: 4141
  • 博客等级: 中将
  • 技术积分: 2083
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-21 20:04
文章存档

2024年(1)

2019年(13)

2016年(1)

2014年(16)

2011年(8)

2010年(25)

2009年(115)

分类: LINUX

2009-03-31 10:17:08

#define offsetof(s,m) (size_t)&(((s *)0)->m)

s: 是结构体
m: 是成员

&(((s *)0)->m)前面的&是取值地址,即取s中成员m的地址

由于s是用地址0((s *)0)开始的,所以s中成员m的地址,也是m在s中的偏移地址。

注意:这里的地址0只是形式地址,我们并没有对它做任何的操作,因此不会引起操作系统的异常。
阅读(2315) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~