C语言中的UNION?
uniion也可以定义一个包含多个不同变量类型,但这些变量只共有同一个内存空间,每次只能使用其中的一种变量存储数据。(这句话我不理解。谁来指点下,新手上路啊)可以解释一下...
uniion也可以定义一个包含多个不同变量类型,但这些变量只共有同一个内存空间,每次只能使用其中的一种变量存储数据。(这句话我不理解。谁来指点下,新手上路啊)可以解释一下为什么这样吗?
一楼的高手,谢谢你的回答我明白了!可是还有一点疑惑……为什么data.a 要0乘以30 展开
一楼的高手,谢谢你的回答我明白了!可是还有一点疑惑……为什么data.a 要0乘以30 展开
2009-06-21
展开全部
首先,union是小写的,其次,uniion有拼写错误。
union u {
int a;
char c;
} data;
这里的a和c共享一块存储空间。若不考虑字节对齐,data所占的字节数是max(sizeof(int), sizeof(c)),在32位机器上就是4. 如果执行语句 data.c = '0' ,那么,data.a的数值是0x30 —— 共享存储。
union u {
int a;
char c;
} data;
这里的a和c共享一块存储空间。若不考虑字节对齐,data所占的字节数是max(sizeof(int), sizeof(c)),在32位机器上就是4. 如果执行语句 data.c = '0' ,那么,data.a的数值是0x30 —— 共享存储。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询