0
我在32位操作系統上使用code :: blocks 12.11(gcc)。我有以下結構:模糊計算結構的大小
struct node
{
int a;
float b;
char d;
struct node* c;
}
s1;
現在單獨地,
sizeof(int); sizeof(float); sizeof(char);
分別給出輸出4 4 1個字節。 所以我計算結構的大小爲13個字節。 但是以下
sizeof(s1); or sizeof(struct node);
給出輸出16字節。
我無法弄清楚爲什麼這樣。請幫我在這裏。 謝謝。
計算機自動將內存對齊到某個邊界,以便奇數個字節仍然佔用「對齊」的某個範圍的內存。例如,我的結構爲1個字符,int和一個字符,可能需要8個字節。 – Magn3s1um