首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

——c语言强制对齐的有关问题

2013-04-20 
求助 ——c语言强制对齐的问题。#pragma pack(n)比如#pragma pack(4)struct stu{int achar bshort c}字节

求助 ——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。

热点排行