0

32 ビット OS で 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 バイトです。

なぜそうなのか、私には理解できません。ここで私を助けてください。ありがとう。

4

1 に答える 1

1

32 ビット (4 バイト) のチャンクに丸められた構造体。さらに3文字追加した場合、同じサイズになります。

于 2013-07-22T20:37:43.270 に答える