请举一个联合结构体的例子
时间: 2024-05-11 19:15:46 浏览: 10
好的,下面为您举一个联合结构体的例子:
```c
union Data {
int i;
float f;
char str[20];
};
```
上面的例子中,我们定义了一个联合结构体 Data,它包含了一个整型变量 i、一个浮点型变量 f,以及一个字符串数组 str。这些变量共享同一块内存空间,可以相互转换使用。当我们给变量 i 赋值时,变量 f 和 str 的值会同时被改变,因为它们占用的是同一块内存。
相关问题
举一个结构体数组的例子
可以举一个学生信息的结构体数组的例子,如下所示:
struct student {
char name[20];
int age;
float score;
};
struct student stu_arr[3] = {
{"Tom", 18, 90.5},
{"Jerry", 19, 88.5},
{"Alice", 20, 92.}
};
这个结构体数组包含了三个学生的信息,每个学生都有姓名、年龄和成绩三个属性。可以通过下标来访问每个学生的信息,例如 stu_arr[].name 表示第一个学生的姓名。
举一个结构体和联合体的例子
好的,以下是一个结构体和联合体的例子:
```c
#include <stdio.h>
#include <string.h>
// 定义一个结构体
struct Person {
char name[20];
int age;
};
// 定义一个联合体
union Data {
int i;
float f;
char str[20];
};
int main() {
// 结构体的使用
struct Person person1;
strcpy(person1.name, "Tom");
person1.age = 22;
printf("Person's name: %s\n", person1.name);
printf("Person's age: %d\n", person1.age);
// 联合体的使用
union Data data;
data.i = 10;
printf("Data's integer value: %d\n", data.i);
data.f = 3.14;
printf("Data's float value: %f\n", data.f);
strcpy(data.str, "hello");
printf("Data's string value: %s\n", data.str);
return 0;
}
```
输出结果:
```
Person's name: Tom
Person's age: 22
Data's integer value: 10
Data's float value: 3.140000
Data's string value: hello
```
在这个例子中,我们定义了一个名为 `Person` 的结构体,其中包含一个名为 `name` 的字符串和一个名为 `age` 的整数。我们还定义了一个名为 `Data` 的联合体,其中包含一个整数、一个浮点数和一个字符串。在主函数中,我们展示了如何使用结构体和联合体,并输出了它们的值。
相关推荐
![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)