枚举类型定义为:
enum typeName{ valueName1, valueName2, valueName3, ...... };
其中typeName
是枚举类型的名字。
下面是一个例子:
enum week{ Mon, Tues, Wed, Thurs, Fri, Sat, Sun };
第一个枚举成员的默认值为整型的0,后续枚举成员的值在前一个成员上加1,也就是说上面的Mon是0,Tues是1,...,Sun是6。
当然也可以手动赋值(部分或者全部),比如:
enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun };
那么现在Mon到Sun变成了1到7。
枚举是一种类型,通过它可以定义枚举变量:
enum week a, b, c;
也可以在定义枚举类型的同时定义变量:
enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun } a, b, c;
有了枚举变量,就可以把列表中的值赋给它:
enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun };
enum week a = Mon, b = Wed, c = Sat;
或者:
enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun } a = Mon, b = Wed, c = Sat;
需要注意的两点是:
1) 枚举列表中的 Mon、Tues、Wed 这些标识符的作用范围是全局的(严格来说是 main() 函数内部),不能再定义与它们名字相同的变量。
2) Mon、Tues、Wed 等都是常量,不能对它们赋值,只能将它们的值赋给其他的变量。