34、共用体

1、共用体

共用体是一种特殊的数据类型,允许您在相同的内存位置存储不同的数据类型。您可以定义一个带有多成员的共用体,但是任何时候只能有一个成员带有值。共用体提供了一种使用相同的内存位置的有效方式

1.1、定义格式
1
2
3
4
5
union 变量名{
类型 变量名1;
类型 变量名2;
...
}
2、案例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<stdio.h>

int main()
{
union Data{
int i;
char* str;
};
union Data data = {.i=1,.str="ddddddd"};
printf("%d\n",data.i);
printf("%s\n",data.str);
union Data data1;
data1.i = 2;
printf("%d\n",data1.i);
data1.str = "xiaobei";
printf("%s\n",data1.str);

return 0;
}
3、运行结果

运行结果

4、运行结果分析

之所以共用体data,成员变量i打印的数据有误,是用同一个时间内,内存地址内容有覆盖,导致