求助 ——c语言强制对齐的问题。
#pragma pack(n)
比如
#pragma pack(4)
struct stu{
int a;
char b;
short c;
};
字节是怎么填充的,为什么有空字节,整个结构体的字节是多少?求详解0.0 C
[解决办法]
http://blog.csdn.net/21aspnet/article/details/6729724
[解决办法]
你这个肯定是8,#pragma pack(4) 在32位机器上默认就是这样,4位对齐,你只有#pragma pack(1)才会得到sizeof是7,对齐就是在内存中的最小单位。
[解决办法]
字节对齐是为了整存争取,想你说的#pragma pack(4)是按四字节进行整存争取,定义的结果体为了整存争取要进行四字节对齐,就是不足4个字节就补充dummy。