内存对齐,struct中包含struct的情况
#include <stdio.h>
struct Score
{
double math;
int china;
};
struct Student
{
char sex;
struct Score score;
int name;
};
int main()
{
struct Student student;
printf("sex: 0x%x\n", &student.sex);
printf("math: 0x%x\n", &student.score.math);
printf("china:0x%x\n", &student.score.china);
printf("name: 0x%x\n", &student.name);
return 0;
}
sex: 0x474aa710
math: 0x474aa718
china:0x474aa720
name: 0x474aa728
Score中的match 是8个字节,是最大的
,也是student中的最大,对齐用是是8字节为准对齐,student中,math影响范出了score