#include <stdio.h>

struct hoge {
 char a[4];
 long b;
 short c;
};

int main(void)
{
 printf("%d\n", sizeof(struct hoge));
 return 0;
}
↑のようなコードで、12 と結果が出ます。
sizeof(long)は4で、sizeof(short)は2です。
何故、構造体hogeのサイズが10にならんのですか?