(size_t) & ((struct element *) 0) -> member 求出member在element中的相对位置。 计算结构体成员偏移的。相当于把0地址转换为指向element结构的指针,然后取其成员地址,自然就是该结构体成员的偏移量。该语句看似访问0地址,实际只是在编译阶段执行的,并不会引起异常 csdn