struct內(nèi)存對齊規(guī)則 內(nèi)存對齊的目的和規(guī)則?
內(nèi)存對齊的目的和規(guī)則?有四種內(nèi)存對齊原則:1)。數(shù)據(jù)成員對齊規(guī)則:結構(或聯(lián)合)的數(shù)據(jù)成員。第一個數(shù)據(jù)成員放置在偏移量為0的位置。之后,每個數(shù)據(jù)成員存儲的起始位置從該成員大小或其子成員大小的整數(shù)倍開始
內(nèi)存對齊的目的和規(guī)則?
有四種內(nèi)存對齊原則:
1)。數(shù)據(jù)成員對齊規(guī)則:結構(或聯(lián)合)的數(shù)據(jù)成員。第一個數(shù)據(jù)成員放置在偏移量為0的位置。之后,每個數(shù)據(jù)成員存儲的起始位置從該成員大小或其子成員大小的整數(shù)倍開始(只要該成員有子成員,如數(shù)組、結構等)(例如,在32位計算機中int為4字節(jié),則應從4的整數(shù)倍地址開始存儲)。基本類型不包括struct/class/Uinon。
2)如果結構體中有整數(shù)倍,例如char,B,則結構體中應該有整數(shù)倍。
3) . 收尾工作:結構的總尺寸,即sizeof的結果,必須是結構內(nèi)部最大構件的“最寬基本型構件”的整數(shù)倍。彌補不足。(基本類型不包括struct/class/Uinon)。
4) . sizeof(Union),結構中最大的元素是Union的大小,因為在特定時間,只有Union的一個成員實際存儲在地址中。