野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: 山外メ雲ジ

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

  [复制链接]
发表于 2015-6-2 09:53:00 | 显示全部楼层
我的答案为24
回复 支持 反对

使用道具 举报

发表于 2015-6-2 14:14:41 | 显示全部楼层
先看看答案再说。。
回复 支持 反对

使用道具 举报

发表于 2015-6-2 16:19:57 | 显示全部楼层
应该是10吧?
回复 支持 反对

使用道具 举报

发表于 2015-6-2 21:55:43 | 显示全部楼层
我也以为是17的 火哥  受教了
回复 支持 反对

使用道具 举报

发表于 2015-6-3 09:53:13 | 显示全部楼层
.................
回复

使用道具 举报

发表于 2015-6-3 18:08:56 | 显示全部楼层
5+2+8+4=19,难道有陷阱
回复 支持 反对

使用道具 举报

发表于 2015-6-7 15:58:04 | 显示全部楼层
20                                                                 
回复 支持 反对

使用道具 举报

发表于 2015-6-8 18:43:32 | 显示全部楼层
感觉是17……
回复

使用道具 举报

发表于 2015-6-8 21:08:31 | 显示全部楼层
。。。。。。
回复

使用道具 举报

发表于 2015-6-9 11:34:21 | 显示全部楼层
额,16个字节吧,看看答案
回复 支持 反对

使用道具 举报

发表于 2015-6-10 14:09:19 | 显示全部楼层
class的大小是5,xm的大小是8,xj的大小是4,所以5+8+4=17
回复 支持 反对

使用道具 举报

发表于 2015-6-10 14:14:04 | 显示全部楼层
Hugo0Chen 发表于 2015-6-10 14:09
class的大小是5,xm的大小是8,xj的大小是4,所以5+8+4=17

多么痛的领悟,
回复 支持 反对

使用道具 举报

发表于 2015-6-10 20:35:05 | 显示全部楼层
5+8+4=17 union的大小取决于公用体中占内存最大的成员 所以为5
回复 支持 反对

使用道具 举报

发表于 2015-6-10 20:51:15 | 显示全部楼层
没想到差这么远  又进步了
回复 支持 反对

使用道具 举报

发表于 2015-6-11 08:13:40 | 显示全部楼层
................................
回复

使用道具 举报

发表于 2015-6-11 11:41:19 | 显示全部楼层
9+8+4=21.猜猜
回复 支持 反对

使用道具 举报

发表于 2015-6-12 08:17:51 | 显示全部楼层
8个字节  字数补丁!
回复 支持 反对

使用道具 举报

发表于 2015-6-12 11:24:33 | 显示全部楼层
5 + 8 +4 =17?
回复

使用道具 举报

发表于 2015-6-14 10:28:08 | 显示全部楼层
答案是9吗???????
回复

使用道具 举报

发表于 2015-6-14 18:45:00 | 显示全部楼层
很好的帖子,很值得学习!
回复 支持 反对

使用道具 举报

发表于 2015-6-14 22:10:05 | 显示全部楼层

不知该说些什么。。。。。。就是谢谢
回复 支持 反对

使用道具 举报

发表于 2015-6-14 22:30:01 | 显示全部楼层
答案是256么    新手学习  
回复 支持 反对

使用道具 举报

发表于 2015-6-17 16:03:59 | 显示全部楼层
xc=21 理由是 5+2*2+8+4=21
回复 支持 反对

使用道具 举报

发表于 2015-6-18 08:54:09 | 显示全部楼层
//若 int 占 2 个字节,char 占 1 个字节,float 占 4 个字节,则定义如下:
struct stu
{
  union{
    char bj[5];  //6
    int bh[2];
  }class;
  char xm[8]; //8
  float cj;      //4
}xc;
//则 sizeof(xc)的值为=6+8+2+4=20 ,但是20也不是联合体6的整数倍,这样也可以吗?联合体不是当一个整体占6个字节类型码?
回复 支持 反对

使用道具 举报

发表于 2015-6-18 10:16:32 | 显示全部楼层
24,对么?回复看答案,看是否和自己想的一样
回复 支持 反对

使用道具 举报

发表于 2015-6-18 19:20:47 | 显示全部楼层
17
看答案
回复

使用道具 举报

发表于 2015-6-20 13:27:59 | 显示全部楼层
谢了谢了谢了谢了谢了谢了谢了
回复 支持 反对

使用道具 举报

发表于 2015-6-20 16:26:04 | 显示全部楼层
21字节吧
因为按照正常算下来
回复 支持 反对

使用道具 举报

发表于 2015-6-20 17:05:53 | 显示全部楼层
楼主,你好,这道题目2013-11-15你答案是对的,但是解释是错啊吧,应该是8+8+4=20才是正确答案解释
回复 支持 反对

使用道具 举报

发表于 2015-6-20 17:21:43 | 显示全部楼层
明白了,差点忘了,union的结构体的算最大那个
回复 支持 反对

使用道具 举报

发表于 2015-6-21 03:07:34 | 显示全部楼层
好吧,我是倒着看的
回复 支持 反对

使用道具 举报

发表于 2015-6-22 11:27:54 | 显示全部楼层
当给联合体分配空间时,其内存空间大小由联合体中最大的成员决定
回复 支持 反对

使用道具 举报

发表于 2015-6-22 15:28:56 | 显示全部楼层
火弟 发表于 2013-11-15 22:51
union{          //6
    char bj[5];
    int bh[2];

共同体中内存空间大小由其中最大的成员决定,char bj[5]为5,又因为是2字节对齐方式(即须为2的倍数字节),故为6。探讨下,是不是这样
回复 支持 反对

使用道具 举报

发表于 2015-6-22 16:49:38 | 显示全部楼层
是7嘛?????
回复

使用道具 举报

发表于 2015-6-24 21:02:06 | 显示全部楼层

+联合体是共用同一内存,按最大的分配;5+8+4=17错了,感激火哥又给我补知识了
回复 支持 反对

使用道具 举报

发表于 2015-6-24 21:02:26 | 显示全部楼层
联合体是共用同一内存,按最大的分配;5+8+4=17错了,感激火哥又给我补知识了
回复 支持 反对

使用道具 举报

发表于 2015-6-24 21:02:38 | 显示全部楼层
联合体是共用同一内存,按最大的分配;5+8+4=17错了,感激火哥又给我补知识了
回复 支持 反对

使用道具 举报

发表于 2015-6-24 21:03:18 | 显示全部楼层
联合体大小到底怎么算的啊
回复 支持 反对

使用道具 举报

发表于 2015-6-24 21:04:03 | 显示全部楼层
好像看答案啊   应该是17吧
回复 支持 反对

使用道具 举报

发表于 2015-6-25 10:33:06 | 显示全部楼层
不知道,多少呀,张张知识。
回复 支持 反对

使用道具 举报

发表于 2015-6-29 17:04:11 | 显示全部楼层
20,,,,,,,,,,,
回复

使用道具 举报

发表于 2015-6-29 23:30:42 | 显示全部楼层
sadsvgfdgvdfgver
回复 支持 反对

使用道具 举报

发表于 2015-7-2 12:59:04 | 显示全部楼层
答案在哪里
回复 支持 反对

使用道具 举报

发表于 2015-7-3 18:02:14 | 显示全部楼层
不懂,看看,学习学习再学习
回复 支持 反对

使用道具 举报

发表于 2015-7-3 18:26:34 | 显示全部楼层
答案..............
回复

使用道具 举报

发表于 2015-7-7 10:00:32 | 显示全部楼层
阿尔阿萨地方萨芬啥地方是打发是打发
回复 支持 反对

使用道具 举报

发表于 2015-7-7 21:06:11 | 显示全部楼层
16
                     
回复 支持 反对

使用道具 举报

发表于 2015-7-7 22:09:02 | 显示全部楼层
答案是不是64啊,看答案
回复 支持 反对

使用道具 举报

发表于 2015-7-8 21:47:59 | 显示全部楼层
为今天的题补课
回复 支持 反对

使用道具 举报

发表于 2015-7-9 08:16:30 | 显示全部楼层
不会,努力学习
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 07:42 , Processed in 0.046827 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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