c语言union用法
时间: 2023-10-23 10:36:16 浏览: 47
C语言中的union是一种特殊的数据类型,它允许在相同的内存位置存储不同的数据类型。union的定义类似于结构体,但不同的是,union中的所有成员共享同一块内存空间。
使用union可以节省内存空间,因为union所占用的内存空间大小等于其最大成员的大小。而且,通过修改union中的一个成员,可以影响到其他成员的值。
下面是一个示例,演示了如何使用union:
```c
#include <stdio.h>
union Data {
int i;
float f;
char str[20];
};
int main() {
union Data data;
printf("Memory size occupied by data: %d\n", sizeof(data));
data.i = 10;
printf("Data.i: %d\n", data.i);
data.f = 220.5;
printf("Data.f: %f\n", data.f);
strcpy(data.str, "C Programming");
printf("Data.str: %s\n", data.str);
return 0;
}
```
在上面的示例中,我们创建了一个名为Data的union。它有三个成员:整数i、浮点数f和字符串数组str。在主函数中,我们分别给这些成员赋值,并打印出它们的值。请注意,修改一个成员的值会影响到其他成员的值。
希望对你有所帮助!如果你还有其他问题,请继续提问。