野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: 山外メ雲ジ

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

  [复制链接]
发表于 2015-11-20 23:39:08 | 显示全部楼层
联合体怎么算啊???
回复 支持 反对

使用道具 举报

发表于 2015-11-21 08:40:56 | 显示全部楼层

联合体大小应该怎么算的啊
回复 支持 反对

使用道具 举报

发表于 2015-11-21 10:55:32 | 显示全部楼层
每次答错的都有我
回复 支持 反对

使用道具 举报

发表于 2015-11-21 13:48:49 | 显示全部楼层
来看看答案、、、、、、、、、、
回复 支持 反对

使用道具 举报

发表于 2015-11-22 15:06:17 | 显示全部楼层
是各数据类型字节相加吗?5+4+8+4=21  
回复 支持 反对

使用道具 举报

发表于 2015-11-26 10:48:35 | 显示全部楼层
应该是22吧
回复 支持 反对

使用道具 举报

发表于 2015-11-26 11:04:53 | 显示全部楼层
struct   MyStruct      
{   
    double  a;  //偏移量为  0 ,占用 8 字节   
    char    b;  //偏移量为  8 ,占用 1 字节   
                //后面的 int 型偏移量必为 4 的倍数,故编译器自动填充 3 个空缺的字节   
    int     c;  //偏移量为 12 ,占用 4 字节   

};              //sizeof(MyStruct)=8+1+3+4=16
版主,这里我还是不太懂,能解释一下吗?
int占用2个字节,作为最后一个成员变量,偏移量为4的倍数,不应该是8+1+2+5(填充5个空缺的字节)=16吗?
谢谢
回复 支持 反对

使用道具 举报

发表于 2015-11-26 12:09:40 | 显示全部楼层
我仔细想了一下,原来是我自己弄错了,我明白刚才那里为什么不是+5,而是+3了。
struct   MyStruct      
{   
    double  a;  //偏移量为  0 ,占用 8 字节   
    char    b;  //偏移量为  8 ,占用 1 字节   
                //后面的 int 型偏移量必为 4 的倍数,故编译器自动填充 3 个空缺的字节   
    int     c;  //偏移量为 12 ,占用 4 字节   
};              //sizeof(MyStruct)=8+1+3+4=16
前面8+1+3是为了使和int的偏移量的倍数一致,
我最后还有一个疑问,就是最后int     c;  //偏移量为 12 ,占用 4 字节
int是指占2个字节然后指偏移量必须为sizeof(int)     即 4 的倍数,才占4个字节的意思吗?
谢谢!
回复 支持 反对

使用道具 举报

发表于 2015-11-29 21:13:06 | 显示全部楼层
12????????/
回复

使用道具 举报

发表于 2015-11-30 21:08:12 | 显示全部楼层
17? 看答案来了
回复 支持 反对

使用道具 举报

发表于 2015-11-30 21:15:18 | 显示全部楼层
20
回复

使用道具 举报

发表于 2015-12-1 10:23:12 | 显示全部楼层
不知道不知道
回复 支持 反对

使用道具 举报

发表于 2015-12-1 23:01:16 | 显示全部楼层
回复可见答案的
回复 支持 反对

使用道具 举报

发表于 2015-12-2 19:01:18 | 显示全部楼层
sdasdsadasdasd
回复 支持 反对

使用道具 举报

发表于 2015-12-4 09:37:29 | 显示全部楼层
答案到底是什么呢
回复 支持 反对

使用道具 举报

发表于 2015-12-6 20:00:13 | 显示全部楼层
我不会啊,求解释
回复 支持 反对

使用道具 举报

发表于 2015-12-6 21:50:50 | 显示全部楼层
17   不太清楚共用体的大小
回复 支持 反对

使用道具 举报

发表于 2015-12-7 13:42:18 | 显示全部楼层
17,看看答案
回复 支持 反对

使用道具 举报

发表于 2015-12-7 22:32:41 | 显示全部楼层
我连最基本的都还不大会啊
回复 支持 反对

使用道具 举报

发表于 2015-12-9 17:18:42 | 显示全部楼层
20..................
回复

使用道具 举报

发表于 2015-12-9 17:23:56 | 显示全部楼层
5+8+4=17,有字节对其是20
回复 支持 反对

使用道具 举报

发表于 2015-12-10 20:35:17 | 显示全部楼层
走过路过,不能错过,每天学习
回复 支持 反对

使用道具 举报

发表于 2015-12-19 23:37:19 | 显示全部楼层
联合体是共用同一内存,感激火哥又给我补脑
回复 支持 反对

使用道具 举报

发表于 2015-12-20 12:11:31 | 显示全部楼层
5+2*2+8+4=21
回复 支持 反对

使用道具 举报

发表于 2015-12-20 15:21:50 | 显示全部楼层
答案是 :17
回复 支持 反对

使用道具 举报

发表于 2015-12-20 23:08:20 | 显示全部楼层
联合的不知道怎么算。。。
回复 支持 反对

使用道具 举报

发表于 2015-12-21 11:53:36 | 显示全部楼层
看看  学习。。。
回复 支持 反对

使用道具 举报

发表于 2015-12-21 12:04:07 | 显示全部楼层
我的答案是25
回复 支持 反对

使用道具 举报

发表于 2015-12-21 12:50:35 | 显示全部楼层
不是应该选则128吗?求真确答案
回复 支持 反对

使用道具 举报

发表于 2015-12-21 20:30:14 | 显示全部楼层
20?啊啊啊啊啊啊
回复 支持 反对

使用道具 举报

发表于 2015-12-22 22:02:43 | 显示全部楼层
Hgvdsdghjjbbn
回复 支持 反对

使用道具 举报

发表于 2015-12-25 12:39:48 来自手机 | 显示全部楼层
244444444444
回复 支持 反对

使用道具 举报

发表于 2015-12-29 12:37:46 | 显示全部楼层
答案是20,不知道为什么
回复 支持 反对

使用道具 举报

发表于 2015-12-30 10:51:01 | 显示全部楼层
我是来看答案的
回复 支持 反对

使用道具 举报

发表于 2015-12-30 16:21:53 | 显示全部楼层
..........................学习
回复

使用道具 举报

发表于 2015-12-30 16:38:05 | 显示全部楼层
16.................
回复

使用道具 举报

发表于 2016-1-5 18:15:15 | 显示全部楼层
应该是18吗????
回复 支持 反对

使用道具 举报

发表于 2016-1-6 09:16:32 来自手机 | 显示全部楼层
不知道怎么算!            
回复 支持 反对

使用道具 举报

发表于 2016-1-6 15:02:24 | 显示全部楼层
回复

使用道具 举报

发表于 2016-1-6 21:10:42 | 显示全部楼层
20                    
回复 支持 反对

使用道具 举报

发表于 2016-1-9 11:11:19 | 显示全部楼层
不太懂,要学习学习
回复 支持 反对

使用道具 举报

发表于 2016-1-9 11:42:38 | 显示全部楼层
1234~~~~~~~~~~~~~~~~~~~~~~~
回复

使用道具 举报

发表于 2016-1-9 11:57:51 | 显示全部楼层
好像是128个字节。
回复 支持 反对

使用道具 举报

发表于 2016-1-10 15:04:32 | 显示全部楼层
在没有看答案之前我会回答17
回复 支持 反对

使用道具 举报

发表于 2016-1-15 09:52:38 | 显示全部楼层
8888888888888888888888888888888888
回复 支持 反对

使用道具 举报

发表于 2016-1-15 09:56:21 | 显示全部楼层

不错不错,楼主您辛苦了。。。
回复 支持 反对

使用道具 举报

发表于 2016-1-18 11:03:06 | 显示全部楼层
17
应该是这样的吧..
回复 支持 反对

使用道具 举报

发表于 2016-1-18 11:13:39 | 显示全部楼层
是20么?还是19啊,不太会
回复 支持 反对

使用道具 举报

发表于 2016-1-19 19:32:54 | 显示全部楼层
大概等于12吧?
回复 支持 反对

使用道具 举报

发表于 2016-1-19 22:02:54 | 显示全部楼层
应该是22吧
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 22:02 , Processed in 0.067402 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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