枚举类型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;//在值前面加(类型)是常用的强制类型转换方法

 

 

 

posted @ 2020-03-12 20:26  坦坦荡荡  阅读(473)  评论(0编辑  收藏  举报