C言語のきほん「列挙型」

スポンサーリンク
プログラミング C言語

列挙型は、自分で定義したキーワード(識別子)を格納するための型である。
この型の名前は自由に決めることができるが、enumというキーワードを最初につける必要がある。
例えば、「enum Size」とする場合、

enum Size {S,M,L,XL};

と記述する。

なお、enum Size型の変数には、次にように値を代入できる。

enum Size a = XL;

数値ではなく、自分で決めたキーワードを代入できること、代入できるものを限定できることが列挙型を使うメリットである。

では、列挙型を使う例をプログラムでみてみよう。

なお、本プログラムは、Windows 11 Home(23H2)上で、 
 Visual Studio Code(1.91.1)を使用して作成し、gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0で コンパイルしている。

//列挙型の例

#include <stdio.h>

enum Size {S,M,L,XL};

int main(void) {

    enum Size s = XL;
    printf("現在の値は%dです。\n",s);
   
    switch (s)
    {
    case S:
        printf("小さいサイズです。\n");
        break;
    
    case M:
        printf("普通サイズです。\n");
        break;
    
    case L:
        printf("大きいサイズです。\n");
        break;

    case XL:
        printf("特大サイズです。\n");
        break;
    }

    return 0;
}

実行結果

現在の値は3です。
特大サイズです。

実行結果からわかるように、その実体は整数なので、switch文で使用できる。

列挙型の定義で決めたキーワードに対して、先頭から順に0から始まる整数が割り当てられる。

参考)「C言語 新版 ゼロからはじめるプログラミング」 三谷 純 (著) 翔泳社

コメント

タイトルとURLをコピーしました