免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123456
最近访问板块 发新帖
楼主: embeddedlwp
打印 上一主题 下一主题

struct 对齐 [复制链接]

论坛徽章:
0
51 [报告]
发表于 2011-11-23 19:25 |只看该作者
后一种是结构体对齐的原则,前面的c[0]叫做零长度数组,并不是标准c的用法,不过做嵌入式开发的人都会知道这个用法,在Linux设备驱动开发详解这本书中就有这个用法的解释

论坛徽章:
0
52 [报告]
发表于 2011-11-24 20:15 |只看该作者
回复 18# zylthinking

推理值得学习。。

论坛徽章:
0
53 [报告]
发表于 2011-11-27 16:06 |只看该作者
一直搞不懂对齐

论坛徽章:
0
54 [报告]
发表于 2011-11-28 22:57 |只看该作者
本帖最后由 go2moon2010 于 2011-11-28 23:03 编辑

回复 1# embeddedlwp

int c[0];

声明数组c,有0个元素。所以这个这数组不占空间。
你可以试试将int c[0]改成 int c[1], 或者 int c[2].再看看结果
一般的, int c[N] 表示声明数组,有N个元素, 但是,引用的时候只能是 c[0], c[1], c[2], ... , c[N-1]

但是,int c, 表示声明一个数,这个是要占用空间的。虽然引用的时候, c[0]和c都是表示一个整形数,但是放在声明里面,意思就不一样了。

论坛徽章:
0
55 [报告]
发表于 2011-11-28 23:19 |只看该作者
回复 17# keytounix


    谢谢,受益。 看来我想的太简单了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP