C言語の列挙型の表現方法
C言語で列挙型は、離散的な値の集合を定義するために使用され、ユーザー定義のデータ型です。 enumキーワードで定義されます。
列挙型の表現形式を次に示します。
enum 枚举类型名 {
枚举值1,
枚举值2,
...
};
列挙型の名前はユーザー定義の列挙型の型名で、列挙値は列挙型の各値です。
この文章を日本語で言い換えてください。1つだけあれば十分です:例:
#include <stdio.h>
enum Weekday {
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
};
int main() {
enum Weekday today = Monday; // 声明一个枚举类型的变量,并赋初值
printf("Today is %d\n", today);
return 0;
}
上記ではWeekdayという列挙型を定義しており、その型は7つの値を含みます。mainメソッドではtodayという列挙型の変数を宣言し、Mondayに設定しています。todayの値を表示すると0になり、これがMondayに対応しています。
列挙型の値はデフォルトでは 0 から始まり、順番に増加します。また、列挙型の各値に特定の整数値を割り当てることもできます。例:
enum Month {
January = 1,
February,
March,
April,
May,
June,
July,
August,
September,
October,
November,
December
};
この例では、各月の列挙子に 1 から順に増分していく固有の整数値を与えています。
列挙型変数は、列挙値で直接使ったり、列挙型名経由で使うことができます。例:
enum Weekday {
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
};
int main() {
enum Weekday today = Monday;
printf("Today is %d\n", today);
today = Tuesday;
printf("Today is %d\n", today);
today = Friday;
printf("Today is %d\n", today);
return 0;
}
ネイティブな日本語で言い換えると次のようになります。
Today is 0
Today is 1
Today is 4
列挙体名で列挙子を使用することで可読性と保守が向上します。