您的位置:首页 > 编程语言 > C语言/C++

C语言结构体对齐问题

2016-11-27 23:08 232 查看
C语言中为了保证结构体的运算速度,对结构体进行了对齐操作,默认对齐字节数是按照结构体中占用字节数最大的简单数据成员算的,结构体中的结构体不算是简单数据成员,简单数据成员包括char、int、short、long、long long、float、double以及他们的unsigned形式(如果有)。

使用#pragma pack(n)可以让结构体按照指定的n字节对齐,但是如果n大于结构体中的最大简单数据成员的长度,则对齐还是以最长简单数据成员的长度为标准。使用#pragma pack()可以取消自定义的对齐方式恢复成默认对齐方式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: