免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2137 | 回复: 13

给大家出个题做做. [复制链接]

论坛徽章:
0
发表于 2006-10-14 09:05 |显示全部楼层
前提:sizeof(int) = 2

1).

struct {
        int i : 4;
        int j : 4;
} __attribute__ ((packed)) aaa;

here sizeof(aaa) is __ byte  <--

2).

union {
        int i : 4;
        int j : 4;
} __attribute__ ((packed)) aaa;

here sizeof(aaa) is __ bytes. <--

论坛徽章:
0
发表于 2006-10-14 10:46 |显示全部楼层
不懂,什么意思,讲解一下。

论坛徽章:
0
发表于 2006-10-14 11:23 |显示全部楼层
是考查对 struct 和 union 异同的理解?

论坛徽章:
0
发表于 2006-10-14 12:49 |显示全部楼层

回复 3楼 langue 的帖子

应该还有补齐吧
结果应该都是1byte

论坛徽章:
0
发表于 2006-10-14 12:57 |显示全部楼层
第一个  是1
第二个  不晓得了    估计1的可能性  比较大

论坛徽章:
0
发表于 2006-10-14 13:03 |显示全部楼层
有可能会用到第二种用法吗,i,j 都是int 型的还做什么union?

论坛徽章:
0
发表于 2006-10-14 13:04 |显示全部楼层
没理解题目,汗一个!

论坛徽章:
0
发表于 2006-10-15 17:42 |显示全部楼层
原帖由 nnnqpnnn 于 2006-10-14 13:03 发表
有可能会用到第二种用法吗,i,j 都是int 型的还做什么union?



既然是题目  当然怎么都有可能了啊

论坛徽章:
0
发表于 2006-10-15 20:31 |显示全部楼层
既然是对齐到int
为什么不是4byte?

论坛徽章:
0
发表于 2006-10-15 23:06 |显示全部楼层
原帖由 zhhui2000 于 2006-10-14 09:05 发表
前提:sizeof(int) = 2

1).

struct {
        int i : 4;
        int j : 4;
} __attribute__ ((packed)) aaa;

here sizeof(aaa) is __ byte  <--

2).

union {
        int i : 4;
       ...


两个都是1。
LZ自己想的代码吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP