我觉得这个宏定义应该这样写:#define offsetof(s,m) (size_t)&(((s*)0)->m)它用于取结构体s中m元素的偏移值,也就是元素m的内存地址到结构体s(这个地址和该结构体第一个元素的内存地址是相同的)的距离。