我的編譯器要求我有一個內存對齊的結構聲明,以確保正確的數據訪問。 我有一個頂級結構,其中包含一些其他結構。是否足以確保頂層結構與32字節邊界對齊,或者我需要確保每個結構都應該與32字節邊界對齊。 代碼片段如下: -結構對齊問題
typedef struct {
int p;
int q;
char n;
} L;
typedef struct {
int c;
int d;
char e;
L X2[13];
} B;
typedef struct {
int a;
int b;
B X1[10];
} M;
爲了確保正確的數據訪問,我需要確保所有的結構都存儲正確對齊,或填充最上面的結構將保證內存對齊。
夠用了麼? – 2012-07-17 18:43:04
良好的內存對齊的目的,以便它提供了穩定的讀/寫訪問結構數據。 – Viks 2012-07-17 18:44:58
就目前而言,你所有的結構可能只有'int'的對齊。 – 2012-07-17 18:45:22