联合体:
union mima{
long birth;
long ssn;
char name[10];
};
联合体也可以容纳多种不同类型的值,但是它每次只能储存这些值中的某一个。
例如:
union mima mima_1;
mima_1.birth=19941212;
mima_1.ssn=123456;
则 mima_1.birth 就会在mima_1.ssn定义了之后被丢弃。也就是说 union 只能存放一个数据。
枚举:
枚举(enum)类型用来创建一个可取值列表:
enum weekdays{Monday,Tuesday,Wednesday,Thursday,Friday};
定义一个枚举类型后,就可以像下面这样创建该类型的变量:
weekdays today;
然后像下面这样对其赋值:
today=Monday;
枚举的值 不是字符串。
编译器在编译的时候会根据枚举的值定义的先后顺序把它们与0—n-1个整数关联起来
比如:
std::cout<<today<<endl;
会输出 0 因为Monday为0;
枚举经常会配合switch来使用,因为switch不能和字符串匹配。