//正确
typedef struct a
{
int m_over;
char m_script_memory[5 * 1024];
}A;
//错误
typedef struct b
{
char m_over;
char m_script_memory[5 * 1024];
}B;
B 里 m_over 和m_script_memory不能字节对齐。使得程序访问m_script_memory的位置会出错。由于m_script_memory的类型也是char ,所以编译器并不会在m_over后面自动补齐字节。
A 里 m_over 已经是int,字节对齐了。