靚麗時尚館

位置:首頁 > 健康生活 > 心理

c語言42為什麼等於24

心理2.53W
c語言42為什麼等於24

這是因為編譯時存在位元組對齊的原因,位元組對齊主要是為了提高記憶體資料讀取速度。如果你想要讓結果等於實際大小,你可以設定位元組對齊大小如

#pragma pack(1)

取消設定

#pragma pack()

位元組對齊的規則如下:

結構體的大小等於其最大成員的整數倍

結構體成員的首地址相對於結構體首地址的偏移量是其型別大小的整數倍。

比如double型成員的首地址相對於結構體首地址的偏移量應該是8的倍數

滿足前兩條規則後,編譯器會在結構體成員之後進行位元組填充。

標籤:語言 等於