C语言中结构体嵌套共用体的例子 并且有结构体赋值的操作
时间: 2023-11-08 10:11:53 浏览: 107
下面是一个例子:
```
#include <stdio.h>
// 定义共用体
union UnionData {
int i;
float f;
};
// 定义嵌套结构体
struct MyStruct {
int a;
union UnionData data;
};
int main() {
// 定义结构体变量
struct MyStruct s1, s2;
// 赋值
s1.a = 10;
s1.data.i = 20;
// 输出值
printf("s1.a = %d\n", s1.a);
printf("s1.data.i = %d\n", s1.data.i);
// 结构体赋值
s2 = s1;
// 输出值
printf("s2.a = %d\n", s2.a);
printf("s2.data.i = %d\n", s2.data.i);
return 0;
}
```
在这个例子中,我们定义了一个嵌套结构体 `MyStruct`,其中包含一个整型变量和一个共用体 `UnionData`,共用体可以存储整型或浮点型数据。我们定义了两个 `MyStruct` 类型的变量 `s1` 和 `s2`,并对 `s1` 进行赋值,并输出其值。然后我们使用结构体赋值的方式将 `s1` 的值赋给 `s2`,并输出 `s2` 的值。注意到 `s2` 的值与 `s1` 的值相同,说明结构体赋值是可以正确地复制嵌套结构体的。
阅读全文