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 ",sizeof(u)); }
测试结果:4
结果为什么是 4 呢? 联合的成员是共用同一块内存空间的,这样一个联合变量的大小至少是最大成员的大小(因为联合体至少得有能力保存最大的那个成员)。
那么联合体的成员大家的地址都是一样的。 因为二者共用一个内存的话,二者指针指向的位置必须是一样的这样才能找到相应的空间。
以上就是关于联合体的全部内容,你学会了吗?数据结构已经基本讲完,下期我会开启一个全新的专题——预处理器,会为大家讲解宏定义、#undef 、条件编译等预处理器指令。
下一篇:
最新编程语言排行榜出炉