结构体数据遵循模数对齐原则,因此结构体长度为模数的倍数。具体参照下面程序示例:
struct student{
int num;
char sex;
float score;
}stu1;
该数据结构中int占4字节,char占1字节,float占4字节,数据占得最大字节数为4,故模数为4,按照模数对齐原则,结构体长度为12。
struct student{
short num;
char sex;
float score;
}stu1;
上面例子中short占2字节,char占1字节,float占4字节,故模数为4,但前面short和char总共才占3个字节,故4个字节空间可以存放两个变量,因此结构体长度为8。
视频上老师都讲过了,需要自己做一下练习题来深入了解,共同学习了。 |