免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
0
跳转到指定楼层
1 [收藏(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
2 [报告]
发表于 2006-10-14 10:46 |只看该作者
不懂,什么意思,讲解一下。

论坛徽章:
0
3 [报告]
发表于 2006-10-14 11:23 |只看该作者
是考查对 struct 和 union 异同的理解?

论坛徽章:
0
4 [报告]
发表于 2006-10-14 12:49 |只看该作者

回复 3楼 langue 的帖子

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

论坛徽章:
0
5 [报告]
发表于 2006-10-14 12:57 |只看该作者
第一个  是1
第二个  不晓得了    估计1的可能性  比较大

论坛徽章:
0
6 [报告]
发表于 2006-10-14 13:03 |只看该作者
有可能会用到第二种用法吗,i,j 都是int 型的还做什么union?

论坛徽章:
0
7 [报告]
发表于 2006-10-14 13:04 |只看该作者
没理解题目,汗一个!

论坛徽章:
0
8 [报告]
发表于 2006-10-15 17:42 |只看该作者
原帖由 nnnqpnnn 于 2006-10-14 13:03 发表
有可能会用到第二种用法吗,i,j 都是int 型的还做什么union?



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

论坛徽章:
0
9 [报告]
发表于 2006-10-15 20:31 |只看该作者
既然是对齐到int
为什么不是4byte?

论坛徽章:
0
10 [报告]
发表于 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自己想的代码吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP