更新TweetC/C++の予約語の一つ。同じメモリー領域を、異なる型の変数で参照できるようにするための機能。実際に内容を参照する場合は構造体と同様に、共用体名.変数名、とする。特徴C例えば8ビットのI/Oポートを定義するとし、そこに対してバイトアクセスと、ビット構造体アクセスを定義するとすると、次のようになる。byPORTと、ビット構造体BITが同じアドレスに配置される。*)0xffff)こうすると、次の二通りのアクセスが可能となる。1;GCC拡張GCCでも、基本的にはCまたはC++の標準仕様と同様だが、「共用体のキャスト」「無名のフィールド」という二つの拡張が特徴となっている。clang/LLVMでも対応する。共用体のキャスト共用体で他の変数等を型キャストできる機能である。u.i;}このように、unionでも型キャストが可能である。このサンプル関数は、doubleが使われる条件となったときに正常な値を返さない。無名のフィールドC++では構造体や共用体の名前は必須ではなく、このような共用体は無名共用体や匿名共用体と呼ばれている。GCC拡張では、Cの場合でも、構造体や共用体を別の構造体や共用体に埋め込む場合に限り、その内部の構造体や共用体に名前を付ける必要がない。この場合、参照する際にも構造体や共用体の名前を付けなくても内容にアクセスすることができる。参加の案内ダウンロード↑本の。