共用体はメンバとして定義してあれば異なる型の値を持つことができます。ただし、持つことができる値は1つのメンバの値のみで、コンパイラはどのメンバの値を持っているかは理解していません。そこで、共用体にどんな型の値が代入されているかはユーザが管理しながら利用しなければいけません。