列挙型(enum)は、一定の範囲の値を保持するためのデータ型です。
値をタグで参照し、コンパイラは、タグに整数値を割り当てます。
typedef int day_of_week; const int SUNDAY = 0; const int MONDAY = 1; const int TUESDAY = 2; const int WEDNESDAY = 3; const int THURSDAY =4; const int FRYDAY = 5; const int SATURDAY =6;// 列挙データの使用。2が代入される。
day_of_week today = TUESDAY;
enumで列挙を定義
もう少し簡単に列挙型を利用するために、enum型というデータ型を用います。
enum <列挙の名前> (タグ1, タグ2, タグ3・・・) <変数の名前>;
という書式となり、列挙の名前や変数の名前は、構造体と同様に省略可能です。
タグには、通常、大文字を利用します。
enum day_of_week {SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRYDAY, SATURDAY};
// 使用する。
enum day_of_week today = TUESDAY;
こう書くことで、コンパイラは内部的に、それぞれのタグに0~6の整数値を割り当てていきます。
enum型を利用すると、変数の宣言に使用できる値が、列挙されているものに制限されます。
たとえば・・・
enum day_of_week today = 5;
などと書くのは、エラーになります。
■この記事のトラックバックURL:
http://www.mapee.jp/mpe334/mt-tb.cgi/229