在相同的内存位置存储不同的数据类型。我们可以定义一个带有多成员的共用体,但是任何时候只能有一个成员带有值。

union [union tag]
{
	member definition;
	member definition;
	...
	member definition;
} [one or more union variables];

e.g.

union Data
{
	int i;
	float f;
	char str[20];
} data;

共用体占用的内存应足够存储共用体中最大的成员

使用成员访问运算符(.) 访问共用体成员

当然你也可以尝试给共用体不同成员赋值后同时使用,但前面的数据会损坏(内存位置被后赋值的变量占用)