次の例では、共用体データ型 (名前なし) と共用体変数 (名前 length 付き) を定義します。 length のメンバーは、long int、float、または double のいずれでもかまいません。
union { float meters; double centimeters; long inches; } length;
次の例では、共用体型 data を、1 つのメンバーを含むものとして定義します。 メンバーには、charctr、whole、または real という名前が付けられます。 2 番目のステートメントでは、2 つの data 型変数、input と output を定義します。
union data { char charctr; int whole; float real; }; union data input, output;
次のステートメントでは、1 つの文字を input に代入します。
input.charctr = 'h';
次のステートメントでは、浮動小数点数をメンバー output に代入します。
output.real = 9.2;
次の例では、records という名前の構造体の配列を定義します。 records の各エレメントには、整数 id_num、整数 type_of_input、 および union 変数である input の 3 つのメンバーが含まれます。 input には、前の例で定義された union データ型があります。
struct { int id_num; int type_of_input; union data input; } records[10];
次のステートメントでは、文字を、records の 1 番目のエレメントの 構造体メンバー input に代入します。
records[0].input.charctr = 'g';
関連参照