野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: 山外メ雲ジ

【每日一题讲解】结构体的内存大小问题

  [复制链接]
发表于 2015-10-8 13:57:59 | 显示全部楼层
♂荻夜 发表于 2013-11-15 08:30
+联合体是共用同一内存,按最大的分配;5+8+4=17错了,感激火哥又给我补知识了

学习了,谢谢!
回复 支持 反对

使用道具 举报

发表于 2015-10-8 17:02:17 | 显示全部楼层
参考一下答案吧
回复 支持 反对

使用道具 举报

发表于 2015-10-8 20:27:50 | 显示全部楼层
走过路过,不要错过
回复 支持 反对

使用道具 举报

发表于 2015-10-8 23:58:17 | 显示全部楼层
sizeof(xc)的值为? 17
256 (先算术。后移位,再位运算)
回复 支持 反对

使用道具 举报

发表于 2015-10-9 08:02:22 来自手机 | 显示全部楼层
,,,,,,,,,,,
回复

使用道具 举报

发表于 2015-10-10 16:21:26 | 显示全部楼层
union跟struct老是忘了那个是以最大为内存了
回复 支持 反对

使用道具 举报

发表于 2015-10-10 20:58:51 | 显示全部楼层
=============17
回复 支持 反对

使用道具 举报

发表于 2015-10-10 21:22:13 | 显示全部楼层
16吧,union是公用空间的,以打的为主,其他就好算了
回复 支持 反对

使用道具 举报

发表于 2015-10-13 22:50:35 | 显示全部楼层
这个不知道
回复 支持 反对

使用道具 举报

发表于 2015-10-14 13:00:16 | 显示全部楼层
sfgjhhhjglkjkgjjkg
回复 支持 反对

使用道具 举报

发表于 2015-10-14 13:01:01 | 显示全部楼层
不错不错不错不错
回复 支持 反对

使用道具 举报

发表于 2015-10-18 14:42:51 | 显示全部楼层
                                  17
回复 支持 反对

使用道具 举报

发表于 2015-10-20 13:12:26 | 显示全部楼层
本帖最后由 e1ki0lp 于 2015-10-20 13:18 编辑

class同共体按照最大的算,就是1*5=5;
然后+8+4=17

错在字节对齐上.
而且错了两个,共同体和结构体都有一处对齐,这之前我从没有字节对齐的概念.
谢谢.
回复 支持 反对

使用道具 举报

发表于 2015-10-20 16:09:49 | 显示全部楼层
不知道

来学习
回复 支持 反对

使用道具 举报

发表于 2015-10-20 21:05:20 | 显示全部楼层
内存对其忘了怎么对其的
回复 支持 反对

使用道具 举报

发表于 2015-10-22 10:08:35 | 显示全部楼层
76个,这部分学得不好
回复 支持 反对

使用道具 举报

发表于 2015-10-22 19:42:20 | 显示全部楼层
18.......................
回复

使用道具 举报

发表于 2015-10-22 20:04:13 | 显示全部楼层
19                          
回复 支持 反对

使用道具 举报

发表于 2015-10-23 16:21:43 | 显示全部楼层
答案应该是17个字节:5+8+4=17;联合体共用最大的字节
回复 支持 反对

使用道具 举报

发表于 2015-10-24 17:34:24 | 显示全部楼层
17!!!!!!!!
回复

使用道具 举报

发表于 2015-10-25 21:38:10 | 显示全部楼层
共用体是5,然后后面两个是8+4,所以总共是17
回复 支持 反对

使用道具 举报

发表于 2015-10-25 23:47:31 | 显示全部楼层
我在书中看过这样的题目,有的地址不是按规则出牌的啊
回复 支持 反对

使用道具 举报

发表于 2015-10-26 15:18:47 | 显示全部楼层
。。。
回复

使用道具 举报

发表于 2015-10-28 00:00:03 | 显示全部楼层
不懂只能看分析了
回复 支持 反对

使用道具 举报

发表于 2015-10-28 12:48:44 | 显示全部楼层
真不知道。。。。。。。。。。
回复

使用道具 举报

发表于 2015-10-28 13:04:11 | 显示全部楼层
5*8=40+40+32=112
回复 支持 反对

使用道具 举报

发表于 2015-10-30 19:57:42 | 显示全部楼层
感谢已明白
回复 支持 反对

使用道具 举报

发表于 2015-10-30 23:46:57 | 显示全部楼层
,,,,,,,,,,,,,,
回复

使用道具 举报

发表于 2015-10-31 17:20:12 来自手机 | 显示全部楼层
我猜是8位 哈哈哈哈
回复 支持 反对

使用道具 举报

发表于 2015-10-31 21:39:14 | 显示全部楼层
应该是20 字节
回复 支持 反对

使用道具 举报

发表于 2015-11-4 06:09:07 | 显示全部楼层
16         9
回复 支持 反对

使用道具 举报

发表于 2015-11-4 18:02:32 | 显示全部楼层
12+4*8+4=48
回复 支持 反对

使用道具 举报

发表于 2015-11-4 19:07:43 | 显示全部楼层
初学者,看看答案
回复 支持 反对

使用道具 举报

发表于 2015-11-4 20:59:37 来自手机 | 显示全部楼层
来学习了。
回复

使用道具 举报

发表于 2015-11-6 21:45:07 | 显示全部楼层
20吗?要考虑内存对齐吧
回复 支持 反对

使用道具 举报

发表于 2015-11-8 18:49:33 | 显示全部楼层
20                          
回复 支持 反对

使用道具 举报

发表于 2015-11-9 16:42:38 来自手机 | 显示全部楼层
20~8 8 4,,,,
回复

使用道具 举报

发表于 2015-11-9 19:42:01 | 显示全部楼层
答案是4!!
回复

使用道具 举报

发表于 2015-11-12 09:33:01 | 显示全部楼层
128            
回复 支持 反对

使用道具 举报

发表于 2015-11-12 10:11:54 | 显示全部楼层
20              
回复 支持 反对

使用道具 举报

发表于 2015-11-13 16:16:57 | 显示全部楼层
我只会把里面所有变量的sizeof都加起来,但我知道答案肯定没那么简单
回复 支持 反对

使用道具 举报

发表于 2015-11-14 07:27:54 | 显示全部楼层
我觉得应该是20
回复 支持 反对

使用道具 举报

发表于 2015-11-17 13:32:36 | 显示全部楼层
本帖最后由 joezyg 于 2015-11-17 13:37 编辑

答案虽然对,但是推导过程错了
回复 支持 反对

使用道具 举报

发表于 2015-11-17 18:58:39 | 显示全部楼层
17个字节。。。
回复

使用道具 举报

发表于 2015-11-17 19:41:14 | 显示全部楼层

不会啊!!!
回复

使用道具 举报

发表于 2015-11-17 20:51:20 | 显示全部楼层
6...............................
回复

使用道具 举报

发表于 2015-11-18 23:49:59 | 显示全部楼层
看看结果,,,
回复

使用道具 举报

发表于 2015-11-19 08:33:44 | 显示全部楼层
先看看答案再说。。
回复 支持 反对

使用道具 举报

发表于 2015-11-19 22:08:11 | 显示全部楼层
10   个字节
回复 支持 反对

使用道具 举报

发表于 2015-11-19 22:54:04 | 显示全部楼层
256
先算乘,接着算加,再接着算左移
左移实现乘2的8次方运算
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-6-2 03:19 , Processed in 0.038121 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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