●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

状態や選択肢を名前で管理!C言語の「列挙型(enum)」をやさしく解説

プログラムで「状態」や「種類」などを管理するとき、数字のままだと読みにくくなります。
そんなときに便利なのが 列挙型(enum:エナム) です。
C言語では、定数に意味のある名前をつけて管理できる便利な機能です。

列挙型(enum)とは?

列挙型(enumeration)は、あらかじめ定義された複数の整数定数に名前をつける仕組みです。
状態やモードなどの「限定された選択肢」を扱う場面で使われます。

基本の書き方

enum Weekday {
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY
};
    

上記のように定義すると、
MONDAY=0, TUESDAY=1, … というように、自動で0から番号が割り振られます。

使用例

enum Weekday today;
today = WEDNESDAY;

if (today == WEDNESDAY) {
    printf("今日は水曜日です。\n");
}
    

初期値を指定することも可能

enum Level {
    LOW = 1,
    MEDIUM = 3,
    HIGH = 5
};
    

途中からの連番も自動でつけてくれます。

列挙型のメリット

  • 意味のある名前で管理できる(可読性アップ)
  • 値の範囲を限定できる(例:0〜4だけ)
  • 定数をグループ化できる
  • デバッグ時にもわかりやすい

列挙型とtypedefで使いやすく

typedef enum {
    RED,
    GREEN,
    BLUE
} Color;

Color favorite = GREEN;
    

typedefと組み合わせれば、enumを省略してスマートに使えます。

注意点

  • 列挙型の中身は整数値(int型)
  • 文字列のようには扱えない(必要なら別途変換が必要)

まとめ

列挙型(enum)は、限定された選択肢や状態を、名前付きで扱える定数のグループです。
初心者の方は、まずは「曜日」「信号の色」「処理の優先度」など、意味のあるカテゴリをenumで管理してみると、コードがぐっと読みやすくなります!