C语言基础 之 枚举类型

枚举类型

枚举类型: 列出所有可能的值


枚举类型的定义

枚举类型定义的一般格式:
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;”是错误的。

你可能感兴趣的:(C语言基础 之 枚举类型)