union的大小取决于所占空间最大的变量的大小 并且是倍数 int a32位占4字节,所以uni的大小就是4字节
struct的大小由于内存对齐问题,int a四个字节,char b虽然是1个字节 但是为了存取效率,char b也被分配了一块4字节的空间,所以整个结构体所占空间为8字节
struct有两个规则
1.如果小变量在大变量前面,需要字节对齐
2.小变量在大变量后面,例如int data[20],是以4来字节对齐,并且是4的整数倍
union的大小取决于所占空间最大的变量的大小 并且是倍数 int a32位占4字节,所以uni的大小就是4字节
struct的大小由于内存对齐问题,int a四个字节,char b虽然是1个字节 但是为了存取效率,char b也被分配了一块4字节的空间,所以整个结构体所占空间为8字节
struct有两个规则
1.如果小变量在大变量前面,需要字节对齐
2.小变量在大变量后面,例如int data[20],是以4来字节对齐,并且是4的整数倍