C++入门教程(十、联合体)

35 篇文章 9 订阅

前面教程汇总

第一讲

C++入门教程(一、初步了解)

第二讲

C++入门教程(二、基本数据类型)

第三讲

C++入门教程(三、数组、注释与函数)

第四讲

C++入门教程(四、运算符与表达式)

第五讲

C++入门教程(五、数组与字符串)

第六讲

C++入门教程(六、指针)

第七讲

C++入门教程(七、结构体)

第八讲

C++入门教程(八、枚举类型)

第九讲

C++入门教程(九、语句与控制流)

联合体(共用体)union

联合体也叫共用体,是一种特殊的自定义类型。
union 是联合体的关键字。
这种类型定义的变量也包含一系列的成员,特征是这些成员共用同一块空间(所以联合也叫共用体)。

联合体语法形式:
(书写的格式和结构体类似)

union ud
{
	int a;
	char b;
};

联合体的特点

联合体的特点:联合体成员都是使用同一块空间,每次使用空间只能选一个成员使用,不能同时使用。

比如:a 成员使用空间,那 b 成员就不能使用,反之 b 成员使用空间,那 a 成员就不能使用。

例如:
下面测试联合体的大小问题。

#include <cstdio>
using namespace std;

union ud
{
   int a;
   char b;
};
int main()
{
   union ud u;
   printf("%d\n",sizeof(u));
}

测试结果:4

结果为什么是 4 呢?

联合的成员是共用同一块内存空间的,这样一个联合变量的大小至少是最大成员的大小(因为联合体至少得有能力保存最大的那个成员)。

那么联合体的成员大家的地址都是一样的。

因为二者共用一个内存的话,二者指针指向的位置必须是一样的这样才能找到相应的空间。

以上就是关于联合体的全部内容,你学会了吗?数据结构已经基本讲完,下期我会开启一个全新的专题——预处理器,会为大家讲解宏定义、#undef 、条件编译等预处理器指令。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YoungGeeker

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值