枚举类型enum
枚举数据类型是一种由程序员定义的数据类型,其合法值是与它们关联的一组命名整数常量。
之所以被称为枚举类型,就是因为命名常量是作为数据类型定义的一部分而枚举或列出的
enum <类型名> {<枚举常量表>};
关键字enum:说明接下来定义的是一个枚举类型。
类型名字:指明此处定义的枚举类型的名字。
常量表:由枚举常量(或称枚举成员)构成。枚举常量表列出枚举类型所有可能的取值,各枚举常量之间用“,”间隔,且各枚举常量必须不同。
枚举常量只能以标识符形式表示,而不能是整型、字符型等文字常量。
enum Weekday{SUN,MON,TUE,WED,THU,FRI,SAT};//正确,定义枚举类型weekday enum book{'a','b','c','d'};//错误,枚举类型不能是字符常量 enum year{1998,1999,2010,2012};//错误,枚举常量不能是整形常量
关于赋值:
1.枚举类型在声明之后具有默认值。默认从0开始,依次为0,1,2,3.....
enum Weekday{SUN,MON,TUE,WED,THU,FRI,SAT};//定义枚举类型weekday //SUN=0,MON=1,依次为0,1,2,3.....
2.同时也可以在声明中直接赋值。它们必须是整数。枚举变量相当于整型变量的一个子集
enum Weekday{SUN=7,MON=2,TUE,WED,THU,FRI,SAT}; //定义SUN=7,MON=2,则后面的值在前面值的基础上依次加1,即TUE=3,WED=4...... enum weekday{SUN=1.1,MON=1.2,......};//枚举变量赋值只能是整数,相当于整型变量的一个子集,此语句非法
3.对枚举元素按常量处理,但不能对它们直接赋予常量值
enum Weekday{SUN,MON,TUE,WED,THU,FRI,SAT};//定义枚举类型weekday SUN=0;//SUN是枚举元素,不能赋值,此语句非法
enum Weekday{SUN,MON,TUE,WED,THU,FRI,SAT};//定义枚举类型weekday SUN=(Weekday)7;//在值前面加(类型)是常用的强制类型转换方法