C言語の列挙型の変数に値を代入するには?
C言語では、列挙型の変数への代入は2つの方法で行われます。
- 列挙定数を列挙変数に直接代入します。例:
enum Color { RED, GREEN, BLUE };
enum Color myColor = GREEN;
- 列挙型変数に整数値を代入する際に強制型変換を用いることができます。例えば次のとおりです。
enum Color { RED, GREEN, BLUE };
enum Color myColor = (enum Color)1;
第2の方法では、1は列挙定数に対応する整数值を表すことに注意し、この整数値は列挙定数のとりうる範囲内になければいけない。さもなければ予想できない結果をもたらす場合がある。