枚举是 C 语言中的一种基本数据类型。
枚举相当于是对大量的宏定义进行精简的表示。
如何理解上图:
1.enum week : 定义枚举类型。因为枚举是C语言的一种基本的数据结构,
所以对于这个 枚举类型,用int 进行类比:
即week是枚举类型的名字(类似于 int 为 整形 char 为 字符型......),但不同于它们的是,整型、字符型等等这些类型,他只能有这一种类型,这一种整形类型,这一种字符类型,但枚举类型不同。我们可以有枚举类型1、枚举类型2 等等。
2.枚举成员:其中的枚举成员只能是常量,相当于塞进去了大量的宏定义,以递进的方式给对应的常量对应的值(待补充......)。
3.枚举变量:定义一个枚举类型的变量 。(类似于 int a ,定义了一个整形的变量 a )。
对于枚举类型的使用:
enum typename{ 常量1、常量2、常量3......} day;
------------------------------------------------------------------------------
enum day;
这里的枚举类型的 变量 day ,对于它直接赋值的话,只能是通过所定义的对应的枚举类型中的常量对其进行赋值。例:day=常量1;
若要对其进行赋予 其他 不在枚举变量类型 的 枚举成员中的 值,则需要进行类型转换。
例:day=(enum typename)6
------------------------------------------------------------------------------
总结; 枚举是C语言的一种基本的数据类型,和整型、字符型、浮点型等等这些数据类型是一个层面上的概念。在直接赋值使用的时候 int整型 char 字符型 有其对应的取值范围,枚举类型也有,不同的是,其它的数据类型的范围是规定好的,而枚举类型的范围需要使用者自己去规定。