什么是C语言中的结构并集?
联合是由C编程语言中的不同数据类型的多个变量共享的存储位置。
语法
结构并集的语法如下-
union uniontag{
datatype member 1;
datatype member 2;
----
----
datatype member n;
};示例
以下示例显示了结构并集的用法-
union sample{
int a;
float b;
char c;
};联合变量声明
以下是联合变量的声明。它有以下三种类型-
类型1
union sample{
int a;
float b;
char c;
}s;2型
union{
int a;
float b;
char c;
}s;类型3
union sample{
int a;
float b;
char c;
};
union sample s;声明并集后,编译器会自动创建最大大小的变量类型以将变量保存在并集中。
在任何时候,只能引用一个变量。
初始化和访问
使用相同的结构语法访问联合成员。
点运算符用于访问成员。
箭头运算符(->)用于使用指针访问成员。
例子1
以下程序显示了结构并集的用法。
union sample{
int a;
float b;
char c;
}
main ( ){
union sample s = {10, 20.5, "A"};
printf("a=%d",s.a);
printf("b=%f",s.b);
printf("c=%c",s.c);
}输出结果执行以上程序后,将产生以下结果-
a = garbage value b = garbage value c = A
结构的结合
一个结构可以嵌套在一个并集内部,这称为结构的并集。
可以在结构内部创建并集。
例子2
另一个C程序显示了结构并集的用法,如下所示-
struct x{
int a;
float b;
};
union z{
struct x s;
};
main ( ){
union z u;
u.s.a = 10;
u.s.b = 30.5;
printf("a=%d", u.s.a);
printf("b=%f", u.s.b);
}输出结果执行以上程序后,将产生以下结果-
a = 10 b = 30.5