C基础——枚举enum

## 枚举类型   声明枚举类型来表示整型常量。所以枚举类型实际上是整型。   利用枚举类型,可以为整型常量取一个“名字”。   使用枚举类型的目的是提高程序的可读性。其语法与结构类似,但成员之间以逗号分隔。 ### (1)声明 ```C enum spectrum{red, orange, yellow, green, blue, violet}; //{}中的标识符枚举了enum spectrum类型的变量可能有的值,被称为枚举符。 //默认情况下,第1个枚举符的值为0,往后一次递增1 enum spectrum color; //color是enum spectrum类型的变量 ```   ==需要注意的是,虽然枚举符是int类型,但枚举类型的变量可以是任意整型,只要能存储枚举符的值。==   ==另外,C允许枚举类型变量使用自增运算符,但C++却不允许这么做。所以如果要编写可移植的代码,需要将color声明为int类型。== ### (2)枚举常量   枚举常量指的是枚举声明中{}中的枚举符。   默认情况下,枚举常量的值从0开始往后依次递增1   也可以为枚举符指定整型值: ```C enmu levels = {low= 10, midel = 50, high = 100}; ```   如果只为其中一个枚举符指定了值,那么后续的枚举符将会从改值开始,依次递增1: ```C enmu feline = {cat, lynx = 10, puma, tiger}; // 四个枚举符所代表的之分别为:0,10,11,12 ``` ### (3)enum的用法   使用枚举类型的目的是为了提高程序的可读性,且==枚举类型只能在内部使用==   由于枚举类型实际上是整型,所以可以使用整型变量的地方就可以使用枚举变量。   枚举符是整型常量,所以可以在case标签中使用 ### (4)共享名称空间   C语言通过==名称空间==来标识程序中的各个部分,即通过名称来识别。作用域是名称空间概念的一部分:==两个不同作用域的同名变量不冲突;两个相同作用域的同名变量会发生冲突。==   名称空间是分类别的。在特定作用域中,结构标记、联合标记和枚举标记共享相同的名称空间,且该名称空间与普通变量使用的空间不同。这意味着,在相同的作用域中,可以声明同名的标记和变量。   同名的标记和变量很容易产生混淆,强烈不推荐!!!
上一篇:Java 枚举类型


下一篇:Java 枚举