C言語のenum(列挙型)の使い方についてわかりやすく詳しく解説

この記事では、C言語のenum(列挙型)の使い方について詳しく解説します。

enumの概要や利点、宣言と初期化方法、要素へのアクセス方法、比較と演算、利用例、注意点など、初心者にもわかりやすく説明します。

enumを使うことで、プログラム内で特定の値の集合を簡潔に表現することができますので、ぜひ参考にしてみてください。

目次から探す

enumとは

enum(列挙型)は、C言語において複数の定数をグループ化するためのデータ型です。

enumを使用することで、プログラム内で特定の値の集合を表現することができます。

enumの概要

enumは、キーワードenumを使用して定義されます。

以下のような構文でenumを宣言します。


enum 列挙型名 {
    定数1,
    定数2,
    定数3,
    // ...
};

列挙型名は、enumで定義する列挙型の名前を指定します。

定数1、定数2、定数3などは、列挙型に属する定数の値を表します。

定数は、整数値で表現され、デフォルトでは0から順に1ずつ増えていきます。

enumの宣言と初期化

enumの宣言方法

enum(列挙型)は、複数の定数をグループ化して一つの型として扱うための仕組みです。

enumを宣言するには、以下のような構文を使用します。


enum 列挙型名 {
    定数1,
    定数2,
    定数3,
    ...
};

列挙型名は、新しく作成する列挙型の名前を指定します。

定数1、定数2、定数3などは、列挙型に属する定数の名前です。

定数名は任意の名前を付けることができますが、通常は大文字で命名することが一般的です。

以下に、例を示します。


enum Week {
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY,
    SUNDAY
};

この例では、Weekという列挙型を宣言しています。

Weekには、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY、SUNDAYの7つの定数が属しています。

enumの初期化方法

enumの定数は、デフォルトで0から始まる連番の値が割り当てられます。

しかし、明示的に値を指定することもできます。


enum 列挙型名 {
    定数1 = 値1,
    定数2 = 値2,
    定数3 = 値3,
    ...
};

値1、値2、値3などには、定数に割り当てる値を指定します。

値を指定することで、連番以外の値を持つ定数を定義することができます。

以下に、例を示します。


enum Month {
    JANUARY = 1,
    FEBRUARY,
    MARCH,
    APRIL,
    MAY,
    JUNE,
    JULY,
    AUGUST,
    SEPTEMBER,
    OCTOBER,
    NOVEMBER,
    DECEMBER
};

この例では、Monthという列挙型を宣言しています。

Monthには、JANUARY から DECEMBER までの12の定数が属しています。

JANUARYには値1が、FEBRUARYには値2が、MARCHには値3が割り当てられています。

数値を定義しない場合、0からの連番になります。

また、enumの定数は、他の定数と同じ値を持つこともできます。

その場合、同じ値を持つ定数は同じ名前として扱われます。

以上が、enumの宣言と初期化の方法です。

enumを使用することで、関連する定数をまとめて扱うことができます。

1 2 3 4
目次から探す