我的代码变得异常,如下所示
#include<stdio.h>
struct a
{
int x;
char y;
};
int main()
{
struct a str;
str.x=2;
str.y='s';
printf("%d %d %d",sizeof(int),sizeof(char),sizeof(str));
getch();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
对于这段代码,我得到了输出:
4 1 8
Run Code Online (Sandbox Code Playgroud)
据我所知,该结构包含一个大小为4的整数变量和一个大小为1的char变量,因此结构a的大小应该为5.但是结构的大小为8.我使用的是Visual C++编译器.为什么会这样?