zoukankan      html  css  js  c++  java
  • 枚举Enumerations (enum)

    Enumerated types (enum)

    枚举类型是一组用户自定义的类型,被称为枚举(enumeratros),也被称为可能值(possible values)。枚举类型的对象可以取枚举的任意一个值。

    枚举(Enumerations)可以用来生成一些任意类型的数据,不只限于数字类型或字符类型,甚至常量true 和false。它的定义形式如下:

        enum type_name{

        value1;

        value2;

        value3;

        ...

        ...

        }object_name;

    这里创建了类型 type_name,它可以取 value1, value2,value3,...,中的任意一个值。这个类型的对象(variables)可以直接实例化为

    object_names。

    例如,我们定义一个存储有不同颜色的新的变量类型 colors_t,如下:

     

        enum colors_t{black, blue, green, cyan, red, purple, yellow, white};

    注意在这个定义里我们没有使用任何基本数据类型。换句话说,我们创造了一种的新的数据类型,而它并没有基于任何已存在的数据类型:类型

    color_t,花括号{}中包括了它的所有的可能取值。例如,在定义了colors_t 列举类型后,我们可以使用以下表达式 :

        colors_t mycolor;

        mycolor = blue;

        if(mycolor == green) mycolor = red;

    实际上,我们的枚举数据类型在编译时是被编译为整型数值的,而它的数值列表可以是任何指定的整型常量 。如果没有指定常量,枚举中第一个列出的

    可能值为0 ,后面的每一个值为前面一个值加1。因此,在我们前面定义的数据类型colors_t 中,black 相当于0, blue 相当于 1, green 相当于2

    ,后面依此类推。

    如果我们在定义枚举数据类型的时候明确指定某些可能值(例如第一个)的等价整数值,后面的数值将会在此基础上增加,例如:

        enum months_t { january = 1, february, march, april, may, june, july, 

                  august, september, october, november, december}y2k;

    在这个例子中,枚举类型 months_t 的变量 y2k 可以是12种可能取值中的任何一个,从 january 到 december ,它们相当于数值1 到 12,而不是0到 11 ,因为我们已经指定 january 等于1。

  • 相关阅读:
    HDU 5650 异或
    HDU 5646
    HDU 5645
    P2075 [NOIP2012T5]借教室 区间更新+二分查找
    HDU 5641
    读写分离
    linux执行cmd之一
    html2image
    挂载引起的权限问题
    如何防止sql注入
  • 原文地址:https://www.cnblogs.com/guozqzzu/p/3627335.html
Copyright © 2011-2022 走看看