一.sizeof大小(64/32)
1.基本类型
char 1
short 2
int 4
long 8/4
long long 8
float 4
double 8
long double 16/8
2.引用
和基本类型对应
3.指针
都是8/4
二.简单struct
struct A:
long 0~7
char 8
int 12~15
最大成员长度是8。因为0~15共占16,且16是8的倍数。所以为16。
char 0
long 8~15
int 16~19
最大成员长度是8。因为0~19共占20,但20不是8的倍数。所以为24。
三.嵌套struct
内部struct应该以它的最大数据成员大小的整数倍开始存储,
外部struct大小是内外struct中最大基本数据成员的整数倍.
A 0~23
char 24
int 28~31
最大成员长度是8。因为0~31共占32,32是8的倍数。所以为32。
char 0
A 8~31
int 32~35
最大成员长度是8。因为0~35共占36,但36不是8的倍数。所以为40。