共用体

共用体 (union) は複数の変数を同一のアドレスに重ねて配置するための機能で、struct の代わりに union と記述することを除き、構文は構造体と同じです。
union tag {
  long a;
  short b;
  char c;
};

最も大きいメンバのサイズが、共用体のサイズになります。上の例では long の 4、次の例では short [3] の 6 が共用体のサイズになります。
union tag2 {
  long a;
  short b[3];
  char c[4];
};

共用体は、主に次の目的で使用されます。