内容纲要

共用体概念

1.有时需要几种不同类型的变量放到同一段内存单元中。
2.把一段整型变量,一个字符型变量,一个双精度变量放在同一块内存单元中。
3.以上3个变量在内存中占的字节不同,但都从同一地址开始的
4.共用体也叫联合。

声明共用体

union 共用体类型名
{
    成员列表
};

定义共用体变量形式为

共用体类型名 共用体变量名;

当然还可以声明时定义共用体变量,也可以没用共用体类型时候直接共用体变量。列如

#include <iostream>
using namespace std;
union MyUnion
{
    int a;
    char b;
    double c;
}q1,q2;
#include <iostream>
using namespace std;
union 
{
    int a;
    char b;
    double c;
}q1,q2;

(附录)共用体和结构体的不同点

1.结构体变量占的内存长度是各个长度之和。每个成员分别自己的内存单元。
2.共用体变量所占的内存长度,等于最长的内存长度。

对共用体变量的访问方式

不能引用共用体变量,而只能引用共用体变量的成员

q1.a = 0;

公用体变量的特点

1.使用共用体变量是希望用同一段数据,存放几种不同类行的数据。每一瞬间只能存放一种,而不是几种
2.能够访问的是共用体变量最后一次内存成员。在对一个成员赋值后,上一个成员就失去作用,
3.公用体变量的内存地址,和他成员共用一个地址。
4.不能对公用体变量名赋值,不能企图引用共用体。来得到一个值。
5.不能在定义共同体变量时候进行初始化。共同体变量名不能作呕为函数参数

发表评论