C语言结构体对齐问题
2016-11-27 23:08
232 查看
C语言中为了保证结构体的运算速度,对结构体进行了对齐操作,默认对齐字节数是按照结构体中占用字节数最大的简单数据成员算的,结构体中的结构体不算是简单数据成员,简单数据成员包括char、int、short、long、long long、float、double以及他们的unsigned形式(如果有)。
使用#pragma pack(n)可以让结构体按照指定的n字节对齐,但是如果n大于结构体中的最大简单数据成员的长度,则对齐还是以最长简单数据成员的长度为标准。使用#pragma pack()可以取消自定义的对齐方式恢复成默认对齐方式。
使用#pragma pack(n)可以让结构体按照指定的n字节对齐,但是如果n大于结构体中的最大简单数据成员的长度,则对齐还是以最长简单数据成员的长度为标准。使用#pragma pack()可以取消自定义的对齐方式恢复成默认对齐方式。
相关文章推荐
- C语言结构体对齐问题详解
- 关于C语言中的结构体对齐问题
- C语言结构体的内存对齐问题
- 解析C语言中结构体struct的对齐问题
- C语言 结构体的内存对齐问题与位域
- C语言 结构体的内存对齐问题与位域
- C语言 结构体的内存对齐问题与位域
- C语言 结构体的内存对齐问题与位域
- C语言中结构体的内存对齐问题
- 关于C语言中的结构体对齐问题
- 解析C语言结构体对齐(内存对齐问题)
- 关于C语言中结构体字节对齐问题
- 【C语言】结构体中的内存对齐问题
- c语言中结构体的大小和内存对齐问题
- 关于C语言结构体对齐问题的探讨
- C语言 结构体的内存对齐问题与位域
- C语言中结构体中变量存储的对齐问题
- 关于包含0长数组的结构体对齐问题(C语言 Linux_x64 GNU编译器)
- C语言中结构体对齐问题
- C语言中结构体存储的一个字节对齐问题