共用体とは

きょうようたい

C言語で、複数のメンバが同じ番地から重なって置かれる型。union { uint32_t w; uint8_t b[4]; } u; のように宣言し、大きさはいちばん大きいメンバの大きさ(アライメントの倍数に切り上げ)になる。一度に意味のある値を持つのは1つのメンバだけで、同じメモリを別の型として見る用途や、どれか1つの形のデータを持つ場合のメモリの節約に使われる。u.w に書いて u.b[0] を読む結果はエンディアンによって変わる。

「共用体」は、1分野の1問の練習問題に出てきます(C言語の基礎など)。

この用語の分野: C言語の基礎

解説の中の「共用体」

「共用体」が出てくる問題(1問)

  1. uint32_t は32ビット、uint8_t は8ビットの符号なし整数型で、リトルエンディアンの環境とする。上のコードを実行したときの出力として、正しいものはどれか。

C言語の基礎の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

関連する用語

アライメントとパディング 関数ポインタ 構造体 整数拡張 ダングリングポインタ 動的メモリ確保 バッファオーバーフロー ビットフィールド プリプロセッサ ポインタ

用語集の一覧へ