stddef.h

    这个头文件定义的类型如下。

    • size_t:sizeof运算符返回的类型。

    定义了两个宏。

    • NULL:空指针。

    它是一个带参数的宏,接受两个参数。第一个参数是 Struct 结构,第二个参数是该结构的一个属性,返回 Struct 起始位置到该属性之间的字节数。

    系统为了字节对齐,在a属性后面分配了3个空字节,导致b属性存储在第4个字节,所以和offsetof(struct s, c)分别是4和12。