結構與聯合

2022-08-30 13:45:17 字數 643 閱讀 5146

結構和聯合都是由多個不同的資料型別成員組成,但在任何同一時刻,聯合中只存放了乙個被選中的成員(所有成員共用一塊位址空間),而結構的所有成員都存在(不同成員的存放位址不同)。

對於聯合的不同成員賦值,將會對其它成員重寫,原來成員的值就不存在了,而對於結構的不同成員賦值是互不影響的。

#include uniona;

intmain()

結果是266(低位低位址,高位高位址,記憶體占用情況0x010a)

int

main()half;

}number;

number.i = 0x4241

; printf(

"%c%c\n

", number.half.first, number.half.second);

number.half.first = 'a'

; number.half.second = 'b'

; printf(

"%x\n

", number.i);

return0;

}

ab(0x41,對應『a』,是低位;0x42,對應『b』,是高位)

6261(number.i和number.half共用一塊位址空間)

結構與聯合

聚合資料結構 陣列 結構體 結構體值的集合稱為成員 陣列通過下標,結構體通過名字訪問 區別非常重要 結構體與陣列不一樣,並不能替換為指標。結構體屬於標量不能進行加減乘除,但可以賦值 在c語言中,並沒有規定結構體所分配的記憶體是連續的,但是有些編譯器會分配連續的空間給結構體 struct z stru...

結構與聯合

結構體需要注意那些知識點?1 陣列是為了更清晰的記錄有限個相同型別的資料資訊而誕生的一種表示形式。結構體是為了更清晰的記錄乙個具有不同型別屬性特性的物件而誕生的一種表示形式。聯合與結構都是由多個不同的資料型別成員組成,但在任何同一時刻,聯合中只存放了乙個被選中的成員,而結構的所有成員都存在。也就是說...

結構體列舉與聯合

基本介紹 struct是結構體的關鍵字,它將一些相關聯的資料打包成乙個整體,這些相關聯的資料可以是不同的型別。它們被稱為結構體的成員,結構體的成員可以是標量 陣列 指標 或者是其他結構體。結構的宣告 假設我們要建立學生檔案,要納入學生的姓名,年齡和性別三個內容。那麼我們可以通過建立乙個結構體來實現這...