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