枚举类型
枚举类型: 列出所有可能的值
枚举类型的定义
枚举类型定义的一般格式:
enum 枚举类型名 {枚举值表};
在枚举值表中应罗列出所有可用值,这些值也成为枚举元素。
例如:
enum weekdays {Sun, Mon, Tue, Wed, Thu, Fri, Sat};
枚举类型名为weekdays,枚举值共有7个,对应一周中的7天。凡是被定义为weekdays类型的变量的取值只能是这7个枚举值之一。
枚举变量的定义
如同结构体类型和共用体类型一样, 枚举变量也有不同的定义方式。设有变量today、yesterday被说明为weekdays类型
1.枚举类型的定义
枚举类型定义的一般格式如下:enum枚举类型名{枚举值表};
在枚举直表中应罗列出所有可用值,这些值也成为枚举元素。例如:
enum weekdays {Sun, Mon, Tue, Wed, Thu, Fri, Sat};
枚举类型名为weekdays,枚举值共有7个,对应一周中的7天。 凡是被定义为wek.days类型的变量的取值只能是这7个枚举值之一。
2.枚举变量的定义
如同结构体类型和共用体类型样, 枚举变量也有不同的定义方式,设有变量today、yesterday被说明为weekdays类型,下面举例加以说明。
- (1)先声明枚举类型后再定义枚举变量。
enum weekdays{Sun,Mon,Tue,Wed,Thu,Fri,Sat};
enum weekdays today, yesterday; - (2)声明枚举类型的同时定义枚举变量。
enum weekdays{Sun, Mon, Tue, Wed, Thu Fin, Sat) today, yesterday; - (3)直接定义枚举变量。
enum (Sun, Mon, Tue, Wed, Thu, Fri, Sat) taday,ysterday;
枚举类型的使用
枚举类型用于取值有限的数据,在使用中有以下规定。
- ①枚举值是常量,不是变量,不能在程序中用赋值语句再对它赋值。
- ②枚举元素本身由系统定义了一个表示序号的数值,默认从0,1,2,-.如在weekdays中,Sun值为0,Mon值为.., Sat值为6。
- ③只能将枚举值赋给枚举变量,不能把元素值直接赋给枚举变量。例如: “today=Sun;"是正确的,而“today= 0;”是错误的。