機能 |
列挙型は{0, 1, 2, …}を{ラベル1, ラベル2, ラベル3, …} と対応させるものであり、 #define ラベル1 0 #define ラベル2 1 … と同等である。 宣言の仕方は、構造体とほとんど同じである。 ただし、ラベル名は ,(カンマ) で区切る。 列挙する数字は ラベル名 = 数字 で変更することができる。変更後の次のラベルは続きの連番となる。 列挙型変数とは、宣言したラベルのみを扱うことができる変数である。 |
---|---|
定義 |
enum 列挙型タグ { ラベル1 [=値]option, ラベル2 [=値]option, ・ ・ } [列挙型変数名]option /* 変数定義 */ enum 列挙型タグ 列挙型変数名; |
実装例 |
#include <stdio.h> enum xyz { X, Y = 5, Z } a; /* 列挙型変数aの定義 */ int main(void) { enum xyz b; /* 列挙型変数bの定義 */ a = X; /* xyz列挙型にはX,Y,Zのいずれかしか代入できない */ printf("a=%d\n", a); printf("X=%d\n", X); printf("Y=%d\n", Y); printf("Z=%d\n", Z); return 0; } |
実行結果 |
a=0 X=0 Y=5 Z=6 |
列挙型