重複の可能性:
C 構造体のサイズの不一致
次のプログラムでは、構造体のサイズを取得したいと思います。ただし、サイズは ではなく 12 になり4*4=16
ます。各要素が異なるパッド番号に整列できるということですか? int
4 や2 と同様short
ですが、この場合、char は 1 でなければなりません。
どうも。
#include <stdio.h>
struct test{
int a;
char b;
short c;
int d;
};
struct test A={1,2,3,4};
int main()
{
printf("0X%08X\n",&A.a);
printf("0X%08X\n",&A.b);
printf("0X%08X\n",&A.c);
printf("0X%08X\n",&A.d);
printf("%d\n",sizeof(A));
}
結果は次のとおりです。
0X00424A30
0X00424A34
0X00424A36
0X00424A38
12