- 共用体是一种允许在相同的内存位置存储不同的数据类型的特殊的数据类型
- 可以定义带有多个成员的共用体,但是任何时候只能有一个成员带值
- 下面是一个共用体示例,会返回这个共用体的大小:
#include<string.h> #include<stdio.h> typedef union tagData{ int i; float f; char str[20]; }Data; int main(){ Data data; printf("Memory size occupied by data: %ld\n",sizeof(data)); return 0; }
返回值为:20
-
访问共用体成员(类似结构体的访问使用成员访问运算符 . ):
执行之后输出的结果如下图:
可以发现前两个值已经损坏了,而str的值仍然完好。可以说明共用体在任何时候只能有一个成员带值