我們知道,有在A大小的不同,當你定義A這樣的: class A
{
short a;
double b;
short c;
};
或類似這樣的 class A
{
short a;
short c;
double b;
};
我假設我們正在編譯32位操作系統,並且我們告訴編譯器對齊到32位。 編譯器是否真的很難通過實現相同
我有一個struct: struct st
{
short a;
int *b;
char ch;
};
short是2個字節 int*是8個字節在64 char是1字節 所有上述共同應該給我11字節。但如果我做sizeof(st)我得到24個字節。爲什麼struct使用更多的內存以及如何將內存減少到11個字節?