程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C/C++ 結構體成員在內存中的對齊規則

C/C++ 結構體成員在內存中的對齊規則

編輯:C++入門知識

 

#include <iomanip><iostream>
  pack(push)

 pack(pop)

 main( argc, *<<setw()<<<<(*)&na.age<<<<setw()<<<<(*)&na.sn<<<<setw()<<<<(*)&na.sex<<<<setw()<<<<(na)<< 

規則1,2,3均符合:首地址是4的整數倍;第二個成員偏移量為:Min(2,4) = 2的整數倍;總長度為8,是Min( 2,Max(Len) ) = 4的整數倍,第三個成員後有1 Byte的填充。

結果為:

 

#include <iomanip><iostream>
  pack(push)

 pack(pop)

 main( argc, *<<setw()<<<<(*)&na.age<<<<setw()<<<<(*)&na.sn<<<<setw()<<<<(*)&na.sex<<<<setw()<<<<(na)<< 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved