鱼C论坛

 找回密码
 立即注册
查看: 2304|回复: 2

关于C语言结构体的填充对齐问题

[复制链接]
发表于 2019-8-30 13:30:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
小甲鱼分享的文章看到的https://fishc.com.cn/forum.php?m ... peid%26typeid%3D571
里面有说到填充的时候,在位域也进行了考虑
微信图片_20190830132308.png
根据里面的解释的话sizeof(foo5)不是应该是6吗?(1bit 和 4bit 和7 Bit 加上填充的4 bit共字节,char 和short再对齐填充一共是2+2+2 = 6);
为什么运行以后的结果是8?
2.jpg 3.jpg
还是说我的理解错误了呢。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-8-30 13:48:43 | 显示全部楼层
就算用了位域  ,前面的最大的类型是int  还是要按照int去对齐补齐  没有其他声明的话
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-30 13:55:33 | 显示全部楼层
flamer 发表于 2019-8-30 13:48
就算用了位域  ,前面的最大的类型是int  还是要按照int去对齐补齐  没有其他声明的话

也就是位域的那三个变量加起来才12位,需要补齐到4字节的意思吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-21 01:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表