列挙型(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