共用体(union)是一种特殊的数据结构,它可以存放多种不同类型的数据,但是它的总大小只能是其中最大的数据类型的大小。在C语言中,共用体的定义方式如下:
定义共用体
union {
int i;
float f;
char str[20];
} data;
上面的代码定义了一个名为data的共用体,它有三个成员:int类型的i,float类型的f,以及字符串str。
使用共用体
要使用共用体,需要使用关键字union来定义一个共用体,可以使用共用体的成员来访问和修改共用体中的数据,比如:
data.i = 10; data.f = 3.14; strcpy(data.str, "Hello World!");
上面的代码将共用体中的i设置为10,将f设置为3.14,并将字符串str设置为“Hello World!”。
注意事项
- 共用体的大小只能是其中最大的数据类型的大小。
- 共用体只能同时存放一种数据类型,如果同时修改多个成员,可能会出现意想不到的结果。
- 共用体可以用于节省内存,但是它的使用需要特别小心,以免出现意外的结果。