C/C++结构体对齐规则
1.基本理解 比如:struct TEST { char a; int b; char c; } 那么经过sizeof后得出结果是 12, 因为默认内存占用4byte, 变量a占用1byte,剩下3个,不足以存放变量b,故变量a也占用了4byte, 变量c由于后面没有了数据, 也会变为4byte,后sizeof值为12。 #include "stdafx.h" #include <iostream> using namespace std; struct TEST1 //12 { char a; int b; char c; }