聯合體儲存方式和小端機器

2022-08-30 15:06:16 字數 444 閱讀 6419

牛客網上有一道題

這道題知識點:

聯合體結構體和共用體的區別在於:結構體的各個成員會占用不同的記憶體,互相之間沒有影響;而共用體的所有成員占用同一段記憶體,修改乙個成員會影響其餘所有成員。

結構體占用的記憶體大於等於所有成員占用的記憶體的總和(成員之間可能會存在縫隙),共用體占用的記憶體等於最長的成員占用的記憶體。共用體使用了記憶體覆蓋技術,同一時刻只能儲存乙個成員的值,如果對新的成員賦值,就會把原來成員的值覆蓋掉。

聯合體儲存位址

一句話:聯合體變數的各個成員都是從低位元組開始公用的。即:所有的成員都是從低位元組開始的

看上面那到題,陣列從y[0]低位址開始儲存

小端序機器是資料高位存在高位址

資料高位是指1122開始數值大的

列舉和聯合體

列舉 列舉顧名思義就是一一枚舉。把可能的取值一一枚舉出來。比如,現實生活中 列舉的定義 enum day 星期 enum 性別 enum color 顏色 以上定義的 enum day,enum enum color 都是列舉型別。中的內容是列舉型別的可能取值,也叫列舉常量。這些可能取值都是有值的,...

列舉和聯合體

1 什麼是列舉 列舉顧名思義就是一一枚舉。把可能的取值一一枚舉。enum color 顏色 以上定義的 enum color 是列舉型別。中的內容是列舉型別的可能取 值,也叫列舉常量 2 列舉的值enum color 顏色 3 列舉的優點 1 增加 的可讀性和可維護性 2 和 define定義的識別...

結構體和聯合體

結構體是一些值的集合,這些值成為它的成員。這和陣列有些類似。結構體和陣列最大的不同是,陣列的元素都是相同型別的,而結構體裡的成員可以具有不同的型別。陣列元素可以通過下標來訪問,而結構體成員長度可能不同,所以不能通過下標訪問。每個結構體成員都有自己的名字,所以結構體成員是通過名字訪問的。結構體變數屬於...