//结构体内存对齐
//结构体中的变量:只能放在自己类型的整数倍的内存地址上
//因为是结构体,所以总大小是最大类型的整数倍
//不满足条件的内存地址补空格,直到内存地址复合条件为止
//eg
//struct num
//{
//double a;//内存地址 0-7 占8位
//char b;//char 1字节 8是1的整数倍 所以b存在内存地址8
//int c;//int是4字节,9,10,11 都不是int类型的整数倍,所以补空格 c存在内存地址12的位置 存4字节(12-15的位置)
//char d;//char 1字节 16是1的整数倍,所以d存在内存地址16的位置
//结构体总大小:因为这个结构体最大的数据类型是double, 8字节, 17,18,19,20,21,22,23都不是8的整数倍,所以补空格
// 24是8的整数倍 所以结构体总大小为24
//改变变量的顺序,可以改变数据结构的大小
//得出:把数据类型由小到大小来定义,整个结构体占内存空间最小;
//};