トップページ > 構文検索 > 列挙型
C言語規格
C言語(その他)
プログラム
その他
列挙型
機能 列挙型は{0, 1, 2, …}を{ラベル1, ラベル2, ラベル3, …}
と対応させるものであり、
 #define ラベル1 0
 #define ラベル2 1
    …
と同等である。
 
宣言の仕方は、構造体とほとんど同じである。
ただし、ラベル名は ,(カンマ) で区切る。
 
列挙する数字は
  ラベル名 = 数字
で変更することができる。変更後の次のラベルは続きの連番となる。
 
列挙型変数とは、宣言したラベルのみを扱うことができる変数である。

定義 enum 列挙型タグ {
    ラベル1 [=値]option,
    ラベル2 [=値]option,
    ・
    ・
} [列挙型変数名]option

/* 変数定義 */
enum 列挙型タグ 列挙型変数名;

実装例
#include <stdio.h>

enum xyz {
    X,
    Y = 5,
    Z
} a;    /* 列挙型変数aの定義 */

int main(void)
{
    enum xyz b;    /* 列挙型変数bの定義 */
    
    a = X;    /* xyz列挙型にはX,Y,Zのいずれかしか代入できない */
    
    printf("a=%d\n", a);
    printf("X=%d\n", X);
    printf("Y=%d\n", Y);
    printf("Z=%d\n", Z);
    
    return 0;
}
実行結果
a=0
X=0
Y=5
Z=6



inserted by FC2 system