可能重複:
Why isn't sizeof for a struct equal to the sum of sizeof of each member?爲什麼這個結構體12的大小不是10?
我試圖解析ID3v2標籤,至少得到這樣的藝術家,標題和專輯的重要數據,但我無法設置必要的結構。
struct ID3v2_frame{
char id[4];
unsigned int size;
bool flags[2];
};
ID3v2_frame frame;
cout<<sizeof(frame)<<endl;
這是一個問題,我如何設置一個4字節的int我認爲。 當我輸出sizeof(幀)它輸出12,我的預期輸出是10. 我在64位的Linux機器上運行。
'bool'是不是C型。它是如何定義的? – leppie 2012-03-14 05:16:21
是的,它是非常多的,沒有在我的搜索中遇到它,雖然得到了答案,謝謝 – carboncomputed 2012-03-14 05:23:22
@leppie:'bool'不是在C89中的標準類型,但它是在C99後'#include' (並且'_Bool'在任何時候都是C99中的一個類型)。 –
2012-03-18 21:22:10