列挙(列挙型)・enum

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

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

などと書くのは、エラーになります。

スポンサーリンク
 
スポンサーリンク