特点:同一地址可以存储不同类型的数据
描述:以定义、声明、初始化、调用四个方式来进行说明
一般形式:union 共同体名
{ 成员列表 } 变量列表 ;
struct {
int num;
char name[20];
char sex;
char job;
union {
char position[10];
}category;
}person[2];
union DateUnion {
int year;
float month;
}a;
// 共同体的使用
void test08() {
int i;
for(i = N - 9; i >= 0; i--) {
person[i].num = i; // 共同体初始化
strcpy(person[i].name, "A");
person[i].sex = (i == 0) ? 'M' : 'F';
person[i].job = (i == 0) ? 'T' : 'S';
if(person[i].job == 'T') person[i].category.position[0] = '8';
else person[i].category.position[0] = '0';
}
for(i = N - 9; i >= 0; i--) {
printf("%d,%s,%c,%c,%s\n", person[i].num, person[i].name, person[i].sex, person[i].job, person[i].category.position);
}
}