【C语言】共用体union:
- 也称联合体。同一个内存空间用于多个数据的存储。
- 同一时间只能存储一个成员数据。
- 使用内存覆盖技术。新的成员数据会覆盖原来的成员数据。
- 内存大小是最大的成员占用内存大小,且是最大对齐数的整数倍,若不足整数倍,将填充字节补齐。
1、定义共用体类型
- 关键字union。
- 包括共用体名、共用体成员。共用体成员由成员类型、成员变量名组成。
- 最后末尾的分号";"不能省略。
// 定义名为person的共用体,成员有字符串name,整数int,字符串指针job
union person
{
char name[20];
int age;
char *job;
};
2、共用体变量
(2-1)定义共用体变量
- 定义共用体类型后,定义共用体变量。可以定义一个或多个共用体变量。
union person
{
char name[20];
int age;
char *job;
};
union person p1; // 定义一个共用体变量
union person p1, p2, p3; // 定义多个共用体变量
- 定义共用体类型时,同时定义共用体变量。可以定义一个或多个共用体变量。
union person
{
char name[20];
int age;
char *job;
} p;