这里的type应当是一个结构体 f是此结构的一个成员变量(type*)0 以0为地址,强制转换成type型的指针,& 是取成员f的地址: (( type *)0) ->f整个宏表达式就是求结构type中元素f相对于结构体首地址的字节偏移量, 表达式大小在编译一级就可以被计算出来数值了,并不会直实的去取地址做减法