关于字节对齐的问题。以下程序
#include<stdio.h>
int main(void)
{
struct A
{ //方案一:
char a;
short b;
int c;
//方案二:
/*short b;
int c;
char a;*/
};
printf("结构体类型A在内存中所占内存为:%d字节。
", sizeof(struct A));
return 0;
}
在结构体A中,定义的变量一致,只是顺序不同,分别运行后发现方案一的输出结果为8字节,方案二输出结果为12字节。百度后发现这是关于字节对齐规则的问题。 原文如下:http://blog.sina.com.cn/s/blog_715de2f50100pgs3.html 想了解的同学可以点进去看一下。