Chinaunix首页 | 论坛 | 博客
  • 博客访问: 262555
  • 博文数量: 42
  • 博客积分: 2415
  • 博客等级: 大尉
  • 技术积分: 590
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-13 14:14
文章分类

全部博文(42)

文章存档

2018年(1)

2017年(8)

2015年(3)

2012年(4)

2011年(11)

2010年(1)

2009年(5)

2008年(9)

我的朋友

分类: 系统运维

2011-04-21 23:17:37

17.3

...((int)&((TYPE *)0)->MEMBER)的意思是:首先,把0转换成一个指针,这个指针指向一个TYPE的类型,然后取得这个TYPE类型的成员MEMBER的地址,当然这是相对地址,再转换成int自然就是MEMBER成员在TYPE类型定义中的偏移.可以这样来理解,假设有一个变量TYPE *p,p->MEMBER指向这个MEMBER成员,那么&(p->MEMBER)就是MEMBER相对于p的地址,那么&(p->MEMBER)-p实际上也表示了MEMBER这个成员在TYPE类型中的偏移.而这里p变成了0,于是这个表达式就表示了相对于0的地址,也就是在TYPE这个类型中的偏移了.

17.4

...所谓传递文件描述符实际上传递的是指向file table的指针.

阅读(1076) | 评论(0) | 转发(0) |
0

上一篇:apue笔记-16

下一篇:apue笔记-18

给主人留下些什么吧!~~