作者: QING
今天上课,老师给我们演示了一下,计算结构体在内存中所占的字节大小。开始给了我们几个例子,然后要我们自己摸索出规律。
注:以下测试全是在win7_64bit Devcpp 5.5.3环境下测试的。(char 1字节,int 4字节, double 8字节)。
也许:你可能认为下面这个答案是 1+4 = 5 (×)
#include <stdio.h>
struct node
{
char a;
int b;
};
int main()
{
struct node QING;
printf("%d\n",sizeof(QING));
return 0;
}
其实,这个题目的答案是: 8 ( √)
这牵涉到一个 结构体字节对齐问题 ,具体结构体为什么要字节对齐,又是如何对齐的,可以参考下面的两篇文章(我网上搜的):