您好、欢迎来到现金彩票网!
当前位置:2019欢乐棋牌 > 指令处理 >

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

发布时间:2019-07-27 03:15 来源:未知 编辑:admin

  以上结构体的大小为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获赞数:5222毕业于武汉工程大学邮电与信息工程学院通信专业,软件行业,4年工作经验。向TA提问展开全部

http://azetaline.com/zhilingchuli/371.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有