什麼是聯合(union)

C語言中,多個成員從同一位址開始重疊放置的型別。以 union { uint32_t w; uint8_t b[4]; } u; 的方式宣告,大小為最大成員的大小(進位到對齊值的倍數)。同一時間只有一個成員持有有意義的值,用於把同一塊記憶體當作不同型別來看,或在資料只取其中一種形式時節省記憶體。寫入 u.w 再讀取 u.b[0] 的結果會因端序而異。

日文名稱: 共用体

「聯合(union)」出現在1領域的1道練習題中(C語言基礎等)。

這個名詞所屬的領域: C語言基礎

解析中的「聯合(union)」

出現「聯合(union)」的題目(1題)

  1. uint32_t 與 uint8_t 分別是32位元與8位元的無號整數型別,且為小端序環境。執行上方程式碼時的輸出,下列何者正確?

相關名詞

巨集(macro) 未定義行為 位元欄位(bit-field) 函式指標 前置處理器 指標(pointer) 記憶體洩漏 動態記憶體配置 結構(struct) 對齊與填充

前往名詞解釋列表