What is 联合体

前言

上回合说到,结构体可以将多个数据类型打包,但比较费内存,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

答对了点关注~

答错了点收藏~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值