C语言 枚举enum

枚举(enum)是 C 语言中的一种基本数据类型,它可以让数据更简洁,更易读。enum中定义的值是C语言中真正意义上的常量。

枚举类型的使用方法

  • enum是C语言的一种自定义类型。

  • enum值是可以根据需要自定义的整型值。

  • 第一个定义的enum值默认为0。

  • 默认情况下的enum值是在前一个定义值的基础上加1.
  • enum类型的变量只能取定义时的离散值。
enum Color
{
    GREEN, // 0
    RED = 2,
    BLUE // 3
};

枚举类型的特殊意义

enum中定义的值是C语言中真正意义上的常量。前面提到过const在C语言里面其实只不过定义的是只读变量,并不是真正意义上的常量。

在工程中enum多用于定义整型常量。

enum //无名枚举,用于定义常量
{
  ARRAY_SIZE = 10  //定义数组的大小
};

int array[ARRAY_SIZE] = {0};
int i = 0;
for (i=0; i < ARRAY_SIZE; i++)
{
    array[i] = i + 1;
}

enum的使用示例

#include <stdio.h>

enum
{
    ARRAY_SIZE = 10
};

enum Color
{
    RED    = 0x00FF0000,
    GREEN  = 0x0000FF00,
    BLUE   = 0x000000FF
};

void PrintColor(enum Color c)
{
    switch( c )
    {
        case RED:
            printf("Color: RED (0x%08X)\n", c);
            break;
        case GREEN:
            printf("Color: GREEN (0x%08X)\n", c);
            break;
        case BLUE:
            printf("Color: BLUE(0x%08X)\n", c);
            break;
    }
}

void InitArray(int array[])
{
    int i = 0;

    for(i=0; i<ARRAY_SIZE; i++)
    {
        array[i] = i + 1;
    }
}

void PrintArray(int array[])
{
    int i = 0;

    for(i=0; i<ARRAY_SIZE; i++)
    {
        printf("%d\n", array[i]);
    }
}


int main()
{
    enum Color c = GREEN;

    int array[ARRAY_SIZE] = {0};

    PrintColor(c);

    InitArray(array);

    PrintArray(array);

    return 0;
}

输出结果:

enum的使用示例

赞(1)
未经允许不得转载:极客笔记 » C语言 枚举enum
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址