1. 联合:能在同一内存空间中存储不同的数据类型(不是同时存储)。典型用法是,设计一种表以存储既无规律、事先也不知道顺序的混合类型。
下面是一个代表及的联合模板
union hold { int digit; double bigfl; char letter; }
根据以上形式声明的类型可以存储一个int类型或一个double类型或一个char类型的值。
2. 枚举类型:可以使用枚举类型声明符号名称来表示整型常量。 使用 enum 关键字, 可以创建一个新“类型”并指定它可具有的值。
enum spectrum {red, orange. yellow, green. blue, violet}; enum spectrum color;
枚举符是int类型,但是枚举变量可以是任意整数类型,前提是该整数类型足够长,可以存储所有的枚举常量。比如 spectrum 的枚举符范围是0~5, 所以编译器可以用 unsigned char 来表示color变量
C允许枚举变量使用 ++ 运算符,但是C++标准不允许
3. 在枚举声明中,可以为枚举常量指定整数值
enum levels {low = 100, medium = 500, high = 2000}
如果只给一个枚举常量赋值,后面的常量没有被赋值
enum feline(cat, lynx = 10, puma, tiger) // cat = 0, lynx = 10, puma = 11, tiger = 12
4. typedef: 类似别名,或者说更接近于包装