中易网

(int) ((caddr_t)&((t*)0)->m))

答案:3  悬赏:40  
解决时间 2021-01-25 11:56
(int) ((caddr_t)&((t*)0)->m))
最佳答案
获取t结构体里m成员的偏移量追问展开讲下&是寻址吗?追答首先(t*)0是假设内存地址0的位置上有一个结构体t,那么((t *)0)->m就是这个结构体的m成员。

&不是寻址(寻址是汇编领域的一个名词,并且纯属误译),是获得指向变量的指针。&((t *)0)->m就是获得我们假设的这个结构体的m成员所在的地址,因为这个结构体的起始地址是0,所以获得的地址可以看成相对结构体起始地址的偏移量。

这个时候直接转成int类型就可以了 (int)&((t *)0)->m,原来那个写的那么麻烦估计是经了多个人手的结果。另外表示指针偏移量最正确的类型应该是ptddiff_t,不过这个不是基本类型就是了。
全部回答
是c#?
(int) ((caddr_t)&((t*)0)->m))
从里到外看:(t*)0 就是把内存中0x0的地方强制转换成t*指针。
(t*)0)->m) 取出t指针的m成员。
&(t*)0)->m) 中&的意思是取地址,也就是取出t指针的m成员的地址。
(caddr_t)&(t*)0)->m)再把这个地址强制转换成caddr_t类型。caddr_t是地址类型,方便可移植操作。
最后再转换成int类型,得到相对结构体t的m的偏移量。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
最专业的PCB行业ERP?
焦楼村地址有知道的么?有点事想过去
表彰团队精神的奖品有哪些
玻璃钢城科技大楼地址在什么地方,想过去办事
有个电影里面的人物叫张十三和马瑶瑶的电影叫
贾岭村地址在什么地方,我要处理点事
沃宜家公司
如何搞好人际关系,提高人际交往沟通表达能力
肖营村地址在哪,我要去那里办事
做月子哭过得了干眼症怎么办,坐月子哭过会得
前男友对我说你注定输给我什么意思
PowerPoint怎么制作自己的模板?
谁有华为Mate9的内置铃声啊。有的分享给我吧
我想知道毛坯房能直接入住吗
我的三星i9008移动定制机自带的手机电视。6元
推荐资讯
东莞清溪怎么坐车去湘潭? 清溪汽车站有直达
带牙套矫正的疼痛感一般要持续多久?戴牙套要
是不是大家都愿意和男盆友一起经历人生艰苦的
你玩飞禽走兽吗?
这个是,分式计算求
有关外地学生去天津参加春季高考的问题。。。
河滩沙地适合种什么
JUJU的透明质酸美容液适合什么年龄的人用??
一簇簇人这个说法对吗?
英语三级速成的方法
第一季爸爸去哪儿几个小明星的年龄
母熊猫萨满幻化老7
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?