C语言结构体对齐问题

来源:互联网 发布:java中json出现 u003d 编辑:程序博客网 时间:2024/06/07 01:25
C语言中为了保证结构体的运算速度,对结构体进行了对齐操作,默认对齐字节数是按照结构体中占用字节数最大的简单数据成员算的,结构体中的结构体不算是简单数据成员,简单数据成员包括char、int、short、long、long long、float、double以及他们的unsigned形式(如果有)。
使用#pragma pack(n)可以让结构体按照指定的n字节对齐,但是如果n大于结构体中的最大简单数据成员的长度,则对齐还是以最长简单数据成员的长度为标准。使用#pragma pack()可以取消自定义的对齐方式恢复成默认对齐方式。
1 0
原创粉丝点击