1.联合:在同一个存储空间里(不同时间)存储不同类型数据的数据类型
编译器为联合分配足够的空间保存所描述的可能性的最大需要
- union hold{ //联合的模板
- int digit;
- double bigf1;
- char letter;
- }
- union hold fit;//联合变量
- union hold save[10];//联合数组
- union hold *pu;//指向联合的指针
- union hold valA;//初始化方式
- valA.letter = 'R';
- union hold valB = valA;
- union hold valc = {88};
- union hold valD = {.bigf1 = 118.2};
- fit.digit = 23;//使用方式
- fit.bigf1 = 2.0;
- fit.letter = 'h';
- pu = &fit;//指针使用方法
- x = pu->digit;
2.应用
- struct owner{ //私人拥有
- char socsecurity[12];
- ...
- };
- struct leasecompany{ //公司拥有
- char name[40];
- char headquarters[40];
- ...
- };
- union data{ //使用联合来表示拥有者
- struct owner owncar;
- struct leasecompany leasecar;
- };
- struct car{ //车的结构
- int stutes;//
- union data ownerinfo;
- }