数组可以存储任何数据类型的元素,包括联合。
对于联合,必须记住只有联合的一个成员可以为每个数组元素存储数据。
在声明联合数组之后,可以使用索引号访问元素。然后使用点运算符访问工会成员,如程序中所示:
union val {
int int_num;
float fl_num;
char str[20];
};
union val nums[10];
int k;
for (k = 0; k < 10; k++) {
nums[k].int_num = k;
}
for (k = 0; k < 10; k++) {
printf("%d ", nums[k].int_num);
}
数组是存储所有相同类型的集合值的数据结构。联合数组允许存储不同类型的值。
例如:
union type {
int i_val;
float f_val;
char ch_val;
};
union type arr[3];
arr[0].i_val = 42;
arr[1].f_val = 3.14;
arr[2].ch_val = 'x';