鸡啄米
鸡啄米:C++编程入门系列之八(自定义数据类型)›评论
-
10. cloud29:
想问一下,联合体的例子,为什么x的值被覆盖,联合体占用内存大小为4个字节,那xyz呢,为什么y不覆盖xanmintoufu 于 2019-9-11 14:01:57 回复https://blog.csdn.net/liuhuiyi/article/details/7538864 楼上,我回复不了你,我也是初学者,你看看这篇能不能解决你的问题2019/7/29 20:54
-
9. snake:
#include "stdafx.h"
#include<iostream>
using namespace std;
union myun
{
int k;
char m;
struct
{
int x;int y;int z;
}u;
}a;
int _tmain(int argc, _TCHAR* argv[])
{
a.u.x = 4;
a.u.y = 5;
a.u.z = 6;
a.k = 0;
a.m = 1;
cout<<a.u.x<<" "<<a.u.y<<" "<<a.u.z<<" ";
return 0;
}
这里的答案为什么是1 5 6,而不是0 5 6 了?真的不懂啊!!谁知道啊??
YaoStars 于 2016-12-19 16:22:21 回复由于联合体只能表示一个变量,因此,a.k先覆盖a.u,然后被a.m覆盖!2014/9/5 20:39
-
8. snake:
联合类型比较特殊,用不好很容易出错,根据楼主的题目,如果让a.k=0放到前面,输入的结果又不一样了,结果就变成 4 5 6 了。2014/9/5 20:33
-
7. HelloC:
学习了,辛苦了!!2014/8/19 22:30
-
6. zhch必胜:
太牛了,受教了!!!!2014/7/30 10:57
发表评论