前言
上回合说到,结构体可以将多个数据类型打包,但比较费内存,C语言有一个非(没)常(啥)有(大)用(用)的东西----联合体
正文
跟结构体差不多
定义
也非常简单,在main函数外写一个union(是保留字,会加粗),然后写这个联合体的名字,写个花括号,注意:在右花括号后面会有一个系统加的分号,不要删掉
union lianheti{
int a;
char c;
};
创建变量
方法A
在main中创建
#include<bits/stdc++.h>
using namespace std;
union lianheti{
int a;
char c;
};
int main(){
lianheti maohelaoshu;
return 0;
}
方法B
在声明时创建
#include<bits/stdc++.h>
using namespace std;
union lianheti{
int a;
char c;
}benghuai_xinqiongtiedao;
int main(){
return 0;
}
不同
蒟蒻:好了,听好了联合体,你的所有子成员占用同一个空间
#include<bits/stdc++.h>
using namespace std;
union lianheti{
int a;
char c;
};
int main(){
lianheti maohelaoshu;
maohelaoshu.a=97;
cout<<maohelaoshu.c;
return 0;
}
乌江竞答
请问上一片代码会输出什么?
A.大写A B.编译错误 C.空 D.97
答对了点关注~
答错了点收藏~