在C语言中,联合(Union)是一种特殊的数据结构,它允许在同一内存地址存储不同类型的数据。与结构体(Struct)不同的是,联合中的所有成员共享同一块内存空间,因此联合的大小取决于其中最大的成员的大小。
#include <stdio.h>
// 定义一个联合
union MyUnion {
int num;
float f;
char c;
};
int main() {
union MyUnion u;
// 赋值给联合的不同成员
u.num = 10;
printf("num: %d\\n", u.num);
u.f = 3.14;
printf("float: %f\\n", u.f);
u.c = 'A';
printf("char: %c\\n", u.c);
return 0;
}
运行结果:
通过上面讲解你就可以很容易的看出来,联合其实就是对结构体的拓展,了解其内存特点,联合这个知识点就可以轻而易举的拿下了,如果有不理解的地方,欢迎在评论区指出。创作不易,还请一键三连。