1. 數(shù)組成員對齊規(guī)則
第一個數(shù)組成員應(yīng)該放在offset為0的地方,以后每個數(shù)組成員應(yīng)該放在offset為min(當(dāng)前成員的大小,#pargama pack(n))整數(shù)倍的地方開始(比如int在32位機器為4字節(jié),#pargama pack(2),那么從2的倍數(shù)地方開始存儲)。
2. 結(jié)構(gòu)體總的大小
也就是sizeof的結(jié)果,必須是min(結(jié)構(gòu)體內(nèi)部最大成員,#pargama pack(n))的整數(shù)倍,不足要補齊。
3. 結(jié)構(gòu)體做為成員的對齊規(guī)則
如果一個結(jié)構(gòu)體B里嵌套另一個結(jié)構(gòu)體A,還是以最大成員類型的大小對齊,但是結(jié)構(gòu)體A的起點為A內(nèi)部最大成員的整數(shù)倍的地方。(struct B里存有struct A,A里有char,int,double等成員,那A應(yīng)該從8的整數(shù)倍開始存儲。),結(jié)構(gòu)體A中的成員的對齊規(guī)則仍滿足原則1、原則2。
更多關(guān)于物聯(lián)網(wǎng)培訓(xùn)的問題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓(xùn)服務(wù)經(jīng)驗,采用全程面授高品質(zhì)、高體驗培養(yǎng)模式,擁有國內(nèi)一體化教學(xué)管理及學(xué)員服務(wù),助力更多學(xué)員實現(xiàn)高薪夢想。