C 列挙型 (enum)
C列挙型
列挙型は、定数 (変更できない値) のグループを表す特別な型です。
列挙型を作成するには、enum
キーワードを使用し、その後に列挙型の名前を指定し、列挙型項目をカンマで区切ります。
enum Level {
LOW,
MEDIUM,
HIGH
};
最後の項目にはカンマが必要ないことに注意してください。大文字を使用する必要はありませんが、多くの場合、大文字を使用することをお勧めします。Enum は「enumerations」の略で、「具体的にリストされた」という意味です。
列挙型にアクセスするには、その変数を作成する必要があります。
main()
メソッド内で、enum キーワードを指定し、その後に enum の名前 (Level
)、次に enum 変数の名前 (この例では myVar
) を指定します。
enum Level myVar;
列挙型変数を作成したので (myVar
)、それに値を割り当てることができます。
割り当てられた値は、列挙内の項目の 1 つでなければなりません (LOW
、MEDIUM
またHIGH
):
enum Level myVar = MEDIUM;
LOW
) の値は 0
、2 番目 (MEDIUM
) の値は 1
などとなります。
ここで myVar を出力しようとすると、MEDIUM
を表す 1
が出力されます。
int main() {
// Create an enum variable and assign a value to it
enum Level myVar = MEDIUM;
// Print the enum variable
printf("%d", myVar);
return 0;
}
値を変更する
ご存知のとおり、列挙型の最初の項目の値は 0 です。2 番目の項目の値は 1 などとなります。
値をよりわかりやすくするために、値を簡単に変更できます。
特定の 1 つの項目に値を割り当てると、それに応じて次の項目の番号が更新されることに注意してください。。enum Level {
LOW = 5,
MEDIUM, // Now 6
HIGH // Now 7
};
Switch ステートメントの列挙型
列挙型は、対応する値を確認するために switch ステートメントでよく使用されます。
enum Level {
LOW = 1,
MEDIUM,
HIGH
};
int main() {
enum Level myVar = MEDIUM;
switch (myVar) {
case 1:
printf("Low Level");
break;
case 2:
printf("Medium level");
break;
case 3:
printf("High level");
break;
}
return 0;
}
列挙型は定数に名前を付けるために使用され、これによりコードが読みやすく、保守しやすくなります。 月、日、色、トランプなど、変更されないことがわかっている値がある場合は列挙型を使用します。
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。