2个回答
展开全部
这是联合体,共用一段内存,int是占2个字节,long占4个字节,char占1个字节。
如题 s->i[0] = 0x39, s->i[0] = 0x38,
假如内存地址如下,则:
地址 0x0000 0x0001 0x0002 0x0003
i[2]: 9 3 8 3
而c[4]则对应这4个地址,c[0]当然是9,选B.
如题 s->i[0] = 0x39, s->i[0] = 0x38,
假如内存地址如下,则:
地址 0x0000 0x0001 0x0002 0x0003
i[2]: 9 3 8 3
而c[4]则对应这4个地址,c[0]当然是9,选B.
追问
还是不太明白,为什么是下面这个????
地址 0x0000 0x0001 0x0002 0x0003
i[2]: 9 3 8 3
求详细解释
追答
int 类型占2个字节,数据存储一般是低位在前,高位在后。
如:s->i[0] = 0x39,按完整写法就是 0x0039, 39存在前地址,00存在后地址。
地址 0x0000 0x0001 0x0002 0x0003
i[2]: 0x39 0x00 0x38 0x00
这个题我一时疏忽做错了,是39,选A.
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-04-16
展开全部
联合体,i和c共享相同的内存,c所使用的内存就是i[0]所用的内存,由于i[0]=0x39,也就是十六进制的39(十进制的57),所占用的内存就是i[0]的最后一位,因此c[0]=0x39,c[1]=c[2]=c[3]=0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询