visual c++6.0 结构体占存字节的疑问

程序1:
#include

int main(void)
{
struct stu
{
double a;
int b;
}tex;

printf("%d  %d  %d \n", sizeof(stu),  sizeof(tex.a), sizeof(tex.b) );


return 0;

}

结果:16 8 4 //疑问:为什么 sizeof(stu) 不等于 sizeof(tex.a)和 sizeof(tex.b) 的和 12 , 而相差了4个字节?

程序2:
#include

int main(void)
{
struct stu
{
char c;
int b;
} tex;

printf("%d  %d  %d \n", sizeof(stu),  sizeof(tex.a), sizeof(tex.c) );


return 0;

}

结果:8 1 4 //疑问:相差3个字节 ?

楼主补充:头文件 添加了 stdio.h 这里没有显示出来