天天看點

結構體記憶體對齊(涉及#pragma pack() 和 offsetof)

1.第一個成員在與結構體變量偏移量為0的位址處

2.其他成員變量要對齊到某個數字(對齊數)的整數倍的位址處

對齊數 = 編譯器預設的一個對齊數 與 該成員大小 比較取的較小值  

vs 預設是 8 , gcc沒有預設對齊數-對齊數就是該成員大小

3.結構體總大小為最大對齊數(每個成員變量都有一個對齊數)的整數倍