程序中定义了联合类型un。它的两个成员i和c占用相同的内存空间Main()使用un定义一个变量x.i表示它被解释为类型i,即int类型的该区域的数据,以及x、c[0]或x.c[1]表示该区域的数据以字符格式解释
这个问题的答案其实是不确定的,使用的系统不同,结果也会不同:
(1)假设系统的int类型占用2个字节,那么变量x需要的内存为2个字节,假设变量x分配的内存空间为2000~2001
程序中,x.c[0]=10
接下来,我们需要使用8位二进制输出转换为0000000100001010的Bytes值;,然后转换成对应的十进制结果为266
(2)假设系统的int类型占用4个字节,则变量x需要。内存为变量x的4个字节为2000~2003
程序中,x.c[1]=1,则将该区域的内容改为:
;p>
这样,由于无法确定int的高位部分,所以输出结果将是一个随机值
上一篇:u盘买多大内存的合适
下一篇:结构体在内存中的分布