野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: fire

【每日一题讲解】结构体的元素偏移问题

  [复制链接]
发表于 2015-11-19 22:04:45 | 显示全部楼层
b     选型
回复 支持 反对

使用道具 举报

发表于 2015-11-20 23:36:04 | 显示全部楼层
woxaingxuexiyixia
回复 支持 反对

使用道具 举报

发表于 2015-11-21 10:50:39 | 显示全部楼层

       先顶,好同志
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2015-11-23 09:17:38 | 显示全部楼层
是选B吗?  
回复 支持 反对

使用道具 举报

发表于 2015-11-23 12:35:15 | 显示全部楼层
好难,不会
回复

使用道具 举报

发表于 2015-11-26 14:28:22 | 显示全部楼层
应该是B吧,看看答案
回复 支持 反对

使用道具 举报

发表于 2015-11-29 21:10:56 | 显示全部楼层
budon  111111111111111
回复 支持 反对

使用道具 举报

发表于 2015-11-30 21:24:31 | 显示全部楼层
1006, 看答案
回复 支持 反对

使用道具 举报

发表于 2015-11-30 21:43:12 | 显示全部楼层
C
回复

使用道具 举报

发表于 2015-12-1 10:21:57 | 显示全部楼层
答案是。。。。。。
回复

使用道具 举报

发表于 2015-12-7 13:39:33 | 显示全部楼层
是不是B?
回复

使用道具 举报

发表于 2015-12-7 22:28:04 | 显示全部楼层
我发现我错的很彻底
回复 支持 反对

使用道具 举报

发表于 2015-12-8 19:55:10 | 显示全部楼层
我是来学习的。
回复 支持 反对

使用道具 举报

发表于 2015-12-19 11:05:41 | 显示全部楼层
0x1008~~~~
回复

使用道具 举报

发表于 2015-12-19 12:35:18 | 显示全部楼层
1006一定是对的,刚学的UNION
回复 支持 反对

使用道具 举报

发表于 2015-12-19 13:07:57 | 显示全部楼层
woxuanz s shiD
回复 支持 反对

使用道具 举报

发表于 2015-12-19 15:17:20 | 显示全部楼层
想看看,看不懂,,,,
回复 支持 反对

使用道具 举报

发表于 2015-12-19 23:35:39 | 显示全部楼层
我选择A,不懂对还是错
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2015-12-23 08:57:14 | 显示全部楼层
我就为了看个答案~~~~~~~~·
回复 支持 反对

使用道具 举报

发表于 2016-1-5 18:13:14 | 显示全部楼层
B?????
回复

使用道具 举报

发表于 2016-1-6 21:45:53 | 显示全部楼层
bbbbbbbbbbbbbbbbbbb
回复 支持 反对

使用道具 举报

发表于 2016-1-22 16:48:23 | 显示全部楼层
A 好好学习天天向上
回复 支持 反对

使用道具 举报

发表于 2016-1-22 17:40:56 | 显示全部楼层
这个不怎么懂   学习一下
回复 支持 反对

使用道具 举报

发表于 2016-1-25 19:14:05 | 显示全部楼层
C.......................................
回复

使用道具 举报

发表于 2016-1-29 10:55:21 | 显示全部楼层

这是什么东东啊
回复 支持 反对

使用道具 举报

发表于 2016-1-30 20:26:55 | 显示全部楼层
b..................................
回复

使用道具 举报

发表于 2016-2-2 15:07:10 | 显示全部楼层
char bj[5] =5byte, int bh[2] =4byte , so union  = 5byte, 由于内存中字节对齐的原因,union 要用到8byte,
所有 &xm[0] = 0x1008
回复 支持 反对

使用道具 举报

发表于 2016-2-13 19:14:51 | 显示全部楼层
想不出來~求解
回复 支持 反对

使用道具 举报

发表于 2016-2-14 14:36:40 | 显示全部楼层
0x1000加6个字节所以为0x1006,选b
回复 支持 反对

使用道具 举报

发表于 2016-2-15 15:17:31 | 显示全部楼层
C 学习一下
回复

使用道具 举报

发表于 2016-2-19 17:54:33 | 显示全部楼层
14.//B.0x1006
回复 支持 反对

使用道具 举报

发表于 2016-2-20 10:11:02 | 显示全部楼层
学习。。。。。。。。。。。
回复

使用道具 举报

发表于 2016-2-20 14:54:44 | 显示全部楼层
//若 int 占 2 个字节,char 占 1 个字节,float 占 4 个字节,则定义如下:
struct stu
{
  union{
    char bj[5];
    int bh[2];
  }class;<br>
  char xm[8];
  float cj;
}xc;
//若 xc 地址为0x1000 则求 &xm[0] 的值?

//A.0x1005
//B.0x1006
//C.0x1008
//D.0x100A
回复 支持 反对

使用道具 举报

发表于 2016-2-24 23:34:17 | 显示全部楼层
选A,0x1005
回复

使用道具 举报

发表于 2016-2-29 17:04:18 | 显示全部楼层
AAAAAAAAAAAAAAAAAA
回复 支持 反对

使用道具 举报

发表于 2016-3-2 21:01:15 | 显示全部楼层
不会。。。。。。。。。。。。。
回复

使用道具 举报

发表于 2016-3-2 21:27:35 | 显示全部楼层
谢谢楼主!好好学习,慢慢提高
回复 支持 反对

使用道具 举报

发表于 2016-3-3 08:32:46 | 显示全部楼层
这是什么东东啊
回复 支持 反对

使用道具 举报

发表于 2016-3-10 12:39:41 | 显示全部楼层
应该是选D吧,char类型与int类型字节对齐,所以是5+1+4 = 10,也就是16进制的A
回复 支持 反对

使用道具 举报

发表于 2016-3-10 12:53:44 | 显示全部楼层
经过查看资料,char类型的数组bj[5]占5个字节,int类型的数组bh[2]占4个字节,union类型里面的成员的起始地址都是一样的,union类型的总地址偏移量为成员中最大的地址偏移量,所以按道理偏移量是5个字节吧,但是还要满足一个要求,那就是总的偏移地址必须是成员量类型字节的整数倍,所以大于5且是1、2的整合倍的最小值是6
回复 支持 反对

使用道具 举报

发表于 2016-3-10 13:14:19 | 显示全部楼层
看看答案 学习一下
回复 支持 反对

使用道具 举报

发表于 2016-3-16 21:10:11 | 显示全部楼层
不会啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
回复 支持 反对

使用道具 举报

发表于 2016-3-16 21:33:36 | 显示全部楼层
看答案的 。。。。。。。。
回复

使用道具 举报

发表于 2016-3-16 21:36:24 | 显示全部楼层
fire 发表于 2013-11-16 11:59
你懂的    ..........................

不是5么???     
回复 支持 反对

使用道具 举报

发表于 2016-3-20 15:31:03 | 显示全部楼层
1111111111111111111111
回复 支持 反对

使用道具 举报

发表于 2016-3-22 11:35:50 | 显示全部楼层
class结构体占  5+2*2=9个字节,xm【0】==0x100A
回复 支持 反对

使用道具 举报

发表于 2016-3-22 12:37:03 | 显示全部楼层

真棒!!非常感谢
回复 支持 反对

使用道具 举报

发表于 2016-3-23 08:52:56 | 显示全部楼层
b        daian
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 17:25 , Processed in 0.052055 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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