我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:2019跑狗图高清彩图 > 指令处理 >

关于pragma pack()的预处理指令

归档日期:07-16       文本归类:指令处理      文章编辑:爱尚语录

  以上结构体的大小为16,下面分析其存储情况,首先为m1分配空间,其偏移量为0,满足我们自己设定的对齐方式(4字节对齐),m1大小为1个字节。接着开始为m4分配空间,这时其偏移量为4,需要补足3个字节,这样使偏移量满足为n=4的倍数(因为sizeof(double)大于4),m4占用8个字节。接着为m3分配空间,这时其偏移量为12,满足为4的倍数,m3占用4个字节。这时已经为所有成员变量分配了空间,共分配了16个字节,满足为n的倍数。如果把上面的#pragma pack(4)改为#pragma pack(8),那么我们可以得到结构的大小为24。

  这是baidu百科的例子,但是为什么M1的时候偏移量是0呢,M3的时候偏移量是4呢?展开我来答

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  你所说的有误。M1的时候偏移量是0,但是M3的时候偏移量却不是4,而应该是12;你自己理解一下就知道了,我没找到baidu百科的例子,你可以发个链接给我,如果真是这么写的那我给你去修改。

  知道合伙人软件行家采纳数:1139获赞数:5209毕业于武汉工程大学邮电与信息工程学院通信专业,软件行业,4年工作经验。向TA提问展开全部

本文链接:http://ok-panic.net/zhilingchuli/368.html