C语言的枚举类型(enumeration)

来源:互联网 发布:在ipad上开淘宝店 编辑:程序博客网 时间:2024/05/24 22:43

      枚举(enumeration)是一系列命名的整形常量。枚举的例子有,一个星期里每一天的名称,钱币的币值等。如美国硬币币值的枚举定义:

enum coin{penny,nickel,dime,quarter,half-dollar,dollar};

      以下代码声明money为枚举类型coin的变量:

enum coin money;//使用枚举类型变量money=dime;if(money == quarter)    printf("Money is a quarter.\n");

      理解枚举的要点是,每个符号都代表一个整数值。这样,诸符号都可以用于使用整值的任何场合(比如switch语句中)。每个符号都取大于其前导者的一个值,第一个符号的值是0。


      注意:枚举中的dollar,quarter等符号只是一个整数值的名字,不是字符串。试图将money作为字符串输出是无效的。

      所以实际上,输入/输出枚举符号的程序是相当繁琐的。以下代码演示了用文字形式显示枚举变量money中放置的硬币种类:

switch(money) {  case penny: printf("penny");    break;  case nickel: printf("nickel");    break;  case dime: printf("dime");    break;  case quarter: printf("quarter");    break;  case half_dollar: printf("half_dollar");    break;  case dollar: printf("dollar");}


      把枚举值翻译成可读字符串只能靠编码实现,因此它们在不产生这种转换的例程中最为有用。

原创粉丝点击