c语言中union的用法
时间: 2023-07-19 16:51:27 浏览: 34
在 C 语言中,union 是一种特殊的数据类型,它允许您在同一内存位置存储不同的数据类型。使用 union,您可以定义一个范围相同的变量,具有不同的多个成员。例如:
```
union my_union {
int i;
float f;
char str[20];
};
```
在上面的例子中,my_union 变量可以存储一个整数、一个浮点数或一个字符串。这三个成员共享相同的内存空间,因此只能存储其中一个成员的值。下面是一个示例程序,演示了如何使用 union:
```
#include <stdio.h>
#include <string.h>
union my_union {
int i;
float f;
char str[20];
};
int main() {
union my_union u;
u.i = 42;
printf("u.i = %d\n", u.i);
u.f = 3.14;
printf("u.f = %f\n", u.f);
strcpy(u.str, "Hello, world!");
printf("u.str = %s\n", u.str);
return 0;
}
```
输出结果为:
```
u.i = 42
u.f = 3.140000
u.str = Hello, world!
```
注意,由于 union 只能存储一个成员的值,因此在对新的成员进行赋值时,旧的成员的值会被覆盖。因此,使用 union 时需要非常小心,确保不会意外地访问不正确的成员。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)