C语言结构体长度问题
#include<stdio.h>#include<stdlib.h>
struct examp_1
{
int a;
char c[10];
};
struct examp_2
{
int a;
char b;
};
struct examp_3
{
int a;
char b;
char c[];
};
main()
{
printf("%d\n",sizeof(examp_1));
printf("%d\n",sizeof(examp_2));
printf("%d\n",sizeof(examp_3));
}
输出为
16
8
8
我觉得应该是14
5
5
为什么出现这情况