列挙型変数定義の形式は、次のとおりです。
>>-+-------------------------+----------------------------------> '-storage_class_specifier-' >--enum--enumeration_data_type_name--identifier-----------------> >--+-------------------------+--------------------------------->< '-=--enumeration_constant-'
列挙データ型が指定された変数を定義する前に、列挙データ型を宣言する必要があります。
列挙変数の初期化指定子には、= 記号と、
その後に続く式 enumeration_constant が含まれます。
C では、初期化指定子は、関連した列挙型と同じ型を持つ必要があります。
次の例の 1 行目は、列挙型 grain を宣言します。 2 行目は、変数 g_food を定義し、g_food に初期値 barley (2) を指定します。
enum grain { oats, wheat, barley, corn, rice }; enum grain g_food = barley;
型指定子 enum grain は、g_food の値が列挙データ型 grain のメンバーであることを指示します。
enum キーワードは、列挙型を使用して変数を宣言する場合はオプションです。
ただし、列挙そのものを宣言する場合は必須です。 例えば、次のステートメントは、両方とも列挙型の変数を宣言しています。
enum grain g_food = barley; grain cob_food = corn;
関連参照