prss.net
当前位置:首页 >> #inCluDE <stDio.h> union DAtE{ int i; ChAr C; F... >>

#inCluDE <stDio.h> union DAtE{ int i; ChAr C; F...

不能初始化成员,他们占用了同一储存单元b选项

对于计算机而言,打印输出的结果为266 内存中数据为0x0A,0x01,按16位整型解析即为0x010A即266. 这题目考核的是联合体的基本概念,以及计算机的端模式(x86架构为小端模式)。 对于大端模式的硬件架构,则结果将会截然不同。

A 按其中最大的 算 double 8 毫无争议最大 那么 a[2] 就是两个8 16个

如果int占2个字节,char a[2]占2个字节, i占2个,d占2个,所以选B 如果int占4个字节,那么因为字节对齐的缘故char a[2]占4个字节, i占4个,d占4个,就共占12个字节

1. x.i根本未初始化,为随机值。 2. 这里引入了一个Union的使用方法。 union区别于结构体的一点,就是union严格按照其中最大数据长度的成员进行字长...

为赋值时,默认栈中结果为0xcccccccc,i[0]和i[1]赋值38和39后,一部分字节赋值,int为4字节,所以输出cccc3839

看这个写法上 应该指的16位机 所以 a[2] b c[4]占的都是4个字节的空间 就像你说的 存放的数据都是16进制的 0x39 0x38 但由于int占两个字节 ...

这叫做字节对齐,当struct中最长的变量是4个字节时,后面的变量要放在倍数字节地址上。 就说第二个吧: long占了4个字节,后面的char一个字节,但是整个struct为了对齐字节,就占用了4的整数倍,因此就是8了 第一个同理

1.共用体表示几个变量共用一个内存位置,在不同的时间保存不同的数据类型和不同长度的变量。在union中,所有的共用体成员共用一个空间,并且同一时间只能...

能否解释一下要解答什么?

网站首页 | 网站地图
All rights reserved Powered by www.prss.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com