C 類的字對齊

2021-06-16 04:51:20 字數 659 閱讀 9540

#include

using namespace std;

class a

public:

int i;

class b

public:

char ch;

classc

public:

int i;

short j;

class d

public:

int i;

short j;

char ch;

class e

public:

int i;

int ii;

short j;

char ch;

char chr;

class f

public:

int i;

int ii;

int iii;

short j;

char ch;

char chr;

int main()

cout剛開始寫這個程式的時候很困惑,後來才知道由於平台的原因,不同資料型別的資料會分布在不同的記憶體上,所以實際上占用記憶體的大小不是所有資料的理論占用值相加,而是把某幾個資料補齊了以後相加。具體的字對齊演算法我還不是很懂,今後有機會慢慢研究,現在姑且先理解這個概念吧。

字對齊 半字對齊 位元組對齊的理解

一般情況下字為32位 4位元組 半字為16位 2位元組 位元組為8位 1位元組 大多數計算機使用 位元組 8位的資料塊 作為最小可定址的儲存器單位 而不是訪問儲存器中單獨的位。儲存器的每乙個位元組都由唯一的數字標識,稱為該位元組的位址,所有可能位址的集合稱為儲存器空間。舉例來說,arm處理器工作狀態...

字對齊 半字對齊 位元組對齊的理解

一般情況下字為32位 4位元組 半字為16位 2位元組 位元組為8位 1位元組 大多數計算機使用位元組 8位的資料塊 作為最小可定址的儲存器單位,而不是訪問儲存器中單獨的位。儲存器的每乙個位元組都由唯一的數字標識,稱為該位元組的位址,所有可能位址的集合稱為儲存器空間。舉例來說,arm處理器工作狀態有...

字對齊 半字對齊 位元組對齊的理解

一般情況下字為32位 4位元組 半字為16位 2位元組 位元組為8位 1位元組 大多數計算機使用位元組 8位的資料塊 作為最小可定址的儲存器單位,而不是訪問儲存器中單獨的位。儲存器的每乙個位元組都由唯一的數字標識,稱為該位元組的位址,所有可能位址的集合稱為儲存器空間。舉例來說,arm處理器工作狀態有...