2017-06-06 12 views
-5
#include <stdio.h> 

struct temp{ 
char b1; 
double a; 
int f; 
}; 
int main() 
{ 
    struct temp temp1; 
    int size = 0; 

    size = sizeof(temp1); 
} 

なぜサイズ値は20ではなく24ですか?32ビットマシンでは?Cプログラミング構造

アドバンスのおかげで...

+0

です。 –

+1

質問を投稿する前に検索しますか? SOはこの質問の重複でいっぱいです。 – Stargateur

+1

Google構造体のパディング。 –

答えて

0
struct temp{ 
char b1; // 1 byte + 7 bytes padding 
double a; // 8 bytes 
int f; // 4 bytes + 4 bytes padding 
}; 

これは、メンバーの位置合わせのためのメンバーのパディング:)