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

列挙体名で列挙子を使用することで可読性と保守が向上します。

bannerAds