结构体边界对齐
时间:2010-11-05 来源:Cranny
规则:
第一,编译器按照成员列表的顺序给每个成员分配内存.
第二,当成员需要满足正确的边界对齐时,成员之间用额外字节填充.
第三,结构体的首地址必须满足结构体中边界要求最为严格的数据类型所要求的地址.
第四,结构体的大小为其最宽基本类型的整数倍.
sizeof操作符能够得出一个结构体的整体长度,包括因边界对齐而额外填充的那些字节.
offsetof(type, member)宏能求得成员在结构体内的偏移,返回size_t.
相关阅读 更多 +