列挙型

列挙型(enumeration)は、名前付きの整数定数のリストで、整数が使用できるところならどこでも使用できる。列挙型の宣言の一般的な形式は次のとおり。

enum タグ名 {列挙リスト} 変数リスト;

「タグ名」と「変数リスト」のどちらかは省略できる。構造体と同様、「タグ名」が列挙型の型名となる(より厳密には「enum タグ名」で型を表す)。

次のプログラムは、列挙型 color_type とその変数 color を使って、値を出力している。
列挙型の実体は整数で、デフォルトではコンパイラによって 0 から割り当てられる。プログラムの出力を見ると、そのようになっているのがわかる。

#include

enum color_type {red, green, blue};

int main(void)
{
    enum color_type color;

    color = red;
    printf("%d\n", color);

    color = green;
    printf("%d\n", color);

    color = blue;
    printf("%d\n", color);

    return 0;
}
takatoh@nightschool $ ./sample_11_3
0
1
2