|
(int) ((caddr_t)&((t*)0)->m))
從里到外看:(t*)0 就是把內(nèi)存中0x0的地方強(qiáng)制轉(zhuǎn)換成t*指針。
(t*)0)->m) 取出t指針的m成員。
&(t*)0)->m) 中&的意思是取地址,也就是取出t指針的m成員的地址。
(caddr_t)&(t*)0)->m)再把這個地址強(qiáng)制轉(zhuǎn)換成caddr_t類型。caddr_t是地址類型,方便可移植操作。
最后再轉(zhuǎn)換成int類型,得到相對結(jié)構(gòu)體t的m的偏移量
|
|