共用体変数定義の形式は、次のとおりです。
>>-+-------------------------+--共用体--union_data_type_name----> '-storage_class_specifier-' >--identifier--+-------------------------+--------------------->< '-=--initialization_value-'
共用体データ型が指定された共用体を定義する前に、共用体データ型を宣言する必要があります。
共用体の名前付きメンバーは、最初のメンバーでなくても初期化できます。共用体型の自動変数の初期化指定子を、定数式または非定数式にすることができます。 非定数の集合体初期化指定子を許可することは、C99 の言語フィーチャーです。
次の例では、共用体変数 people の最初の共用体メンバーである birthday を初期化する方法を示します。
union { char birthday[9]; int age; float weight; } people = {"23/07/57"};
データ型定義の後に、変数宣言子を配置することによって、共用体データ型とその型の共用体を、 同じステートメント内に定義できます。変数のストレージ・クラス指定子は、ステートメントの先頭に表示される必要があります。
関連参照