共用体 【union type】
通常、変数などの形で宣言したメモリ領域は、符号なし整数型、文字列型といったある特定のデータ型で用意され、他のデータ型の変数として使うことはできない。
一方、共用体が用意されている言語では、ある一定の長さのメモリ領域を確保し、ある場面では整数として、別の場面では文字列としてといったように、異なる型でデータを格納あるいは取り出すことができる。状況に応じて異なる型のデータを受け取らなければいけない場合に、それぞれ別に領域を確保せずに同じ領域に格納することができる。
C言語のように単純な共用体では開発者の責任でデータ型の管理を行う必要があるが、言語によっては共用体に現在格納されているデータの型についての情報を保持することができる仕組みがあり、この型情報を「タグ」(tag)という。型をタグで管理する共用体を「タグ付き共用体」というが、これに相当するデータ型を「Variant型」(バリアント型)と呼ぶ言語もある。
(2021.2.9更新)