提问:
typedef struct
{
int i;
char name;
double score;
}student;
int main()
{
printf("学生结构体所占的字节数是 %d \n",sizeof(student));
return 0;
}
我想问一下,答案不应该是13吗?运行结果竟然是16,而且我把char name去掉了结果还是16。double是占8个字节,int是占4个字节,字符型是占1个自己。可是为什么运行出来结果却是16呢?不太想的明白。、
回答:
这是内存对齐问题:
给出相关链接:
http://blog.csdn.net/kuzuozhou/article/details/7278555
http://www.cnblogs.com/motadou/archive/2009/01/17/1558438.html