14.11 枚举类型
可以用枚举类型(enumerated type)声明符号名称来表示整型常量。使用enum关键字,可以创建一个新“类型”并指定它可具有的值(实际上,enum常量是int类型,因此,只要能使用int类型的地方就可以使用枚举类型)。枚举类型的目的是提高程序的可读性。它的语法与结构的语法相同。例如,可以这样声明:
enum spectrum{red, orange, yellow, green, blue, violet};
enum spectrum color;
第1个声明创建了spetrum作为标记名,允许把enum spectrum作为一个类型名使用。第2个声明使color作为该类型的变量。第1个声明中花括号内的标识符枚举了spectrum变量可能有的值。因此,color可能的值是red、orange、yellow等。这些符号常量被称为枚举符(enumerator)。
然后,便可这样用:
int c;
color = yellow;
if( color == yellow )
...;
for( color = red; color <= violet; color++ )
...;
虽然枚举符是int类型,但是枚举变量可以是任意整数类型,前提是该整数类型可以存储枚举常量。例如,spectrum的枚举符范围是0~5,所以编译器可以用unsigned char来表示color常量。
顺带一提,C枚举的一些特性并不适用于C++。例如,C允许枚举变量使用++运算符,但是C++标准不允许。所以,如果编写的代码将来会并入C++
C Primer Plus(6) 中文版 第14章 结构和其他数据形式 14.11 枚举类型
最新推荐文章于 2024-07-25 23:22:43 发布