枚举类型

来源:互联网 发布:ubuntu g 编译命名 编辑:程序博客网 时间:2024/05/29 11:41
枚举为你在程序中定义的整型,枚举的定义以关键词enum开头,可能紧跟着一个标识符,且包含一系列可能的类型值,并且每一个均具有名子:

  enum [identifier] {enumerator-list};


下面的例子定义枚举类型enum color:

  enum color {black, red, green, yellow, blue, white = 7, gray};

标识符color 为枚举的标签,列表中black, red等标识符为枚举常量,类型为int,你可以使用这些常量,例如在switch-case语句中。

  枚举类型中的每一个枚举常量代表一个特定的值,它们可以由在列表中的位置隐式地表示出来,或者由一个常量初始化表达式显式指定。如果列表中枚举常量没有初始化,那么它的第一个常量的值就为0,后面的依次加1,所以在前面的例子中,列表中的值为0,1,2,3,4,7,8.


  在一个枚举类型的范围内,你可以在声明中使用它:

  enum color bgColor = blue,    //Define two variables

            fgColor = yellow;  // of type enum color.

  void setFgColor( enum color fgc );  //Declar a function with a parameter of type enum color.

  一个枚举类型通常符合标准整数类型之一,从而,编译器像处理通常的计算操作那样来处理枚举类型变量,编译器根据枚举常量的值来选择合适的整数类型。在前面的例子中,char类型用来表示enum color类型的所有值已经足够。


一个枚举中不同的常量可能具有同样的值:

  enum { OFF, ON, STOP = 0, GO = 1, CLOSE = 0, OPEN = 1};

正如前例所示,枚举类型的定义不一定非要一个标签,当你仅仅想定义常量,但不想声明此枚举类型的变量时,可以选择不定义标签。以枚举类型定义整型常量比使用一长串#define指示符定义要好,因为枚举给编译器提供了常量的名子,而不是一个数值,所以在调试时以名称来显示比数字方便了很多。


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 吸毒强戒两年家人该怎么办 犯人在监狱里病亡怎么办 父母去世监狱人怎么办 公司不续签合同怎么办 股票亏20个点后怎么办 摩托车给扣了怎么办 通知拘留跑了怎么办 假烟倒卖会怎么办 卖了40万假烟怎么办 刑事拘留15天了怎么办 治安传唤人不到怎么办 治安处罚有劣迹怎么办 学生怀孕了该怎么办 有病不能拘留那怎么办 拘留所不交伙食费怎么办 治安拘留不执行怎么办 释放证明书丢了怎么办 银行提前收贷款怎么办 存货周转天数高怎么办 欠款人没有财产怎么办 起诉后对方没钱怎么办 法院起诉人不到怎么办 治安拘留跑了怎么办 看守所里生病了怎么办 二审上诉被驳回怎么办 醉酒驾车取保候审以后怎么办 小案子证据不足怎么办 撞车不严重逃逸怎么办 被执行人没有财产执行怎么办 挖到人头了怎么办 取保保证金不退怎么办 被诬陷经济诈骗怎么办 醉驾刑事拘留后怎么办 被别人举报赌博怎么办 涉黄刑事拘留怎么办取保候审 换了车牌保险怎么办 车辆转让后保险怎么办 立案后警察不管怎么办 打架后对方讹人怎么办 工商被恶意举报怎么办 店铺被工商举报怎么办