数组可以存储任何数据类型的元素,包括联合。
对于联合,必须记住只有联合的一个成员可以为每个数组元素存储数据。
在声明联合数组之后,可以使用索引号访问元素。然后使用点运算符访问工会成员,如程序中所示:
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';