c-lang:共用体
UNION (共用体)
共用体は、サイズおよび整合の要求をコンパイラにまかせて、異なる型とサイズのオブジェクトを(異なるときに)保持するための変数である。
別の言い方をすると、共用体は、複数のデータに対して同じメモリ領域を割り当てる。
共用体をうまく使うと、プログラム内に、マシンに依存するような情報を埋めこまないで、単一の記憶領域内で異なる種類のデータを処理することが可能になる。 共用体は、Pascal の可変レコードと似たものである。
UNION の定義
共用体は、構造体に似ているが、それぞれのメンバが、単一のメモリスペースを共有する。
すなわち、同じメモリ位置を、さまざまなフィールド名で呼ぶための仕組みである。
code:cpp
union 共用体名{
データ型1 フィールド名1;
データ型2 フィールド名2;
:
:
} 変数名;
UNION の使い方
文法的には、共用体のメンバーは、構造体と全く同様に、
code:cpp
union_name.member
union_pointer->member
のようにアクセスする。