可能重复:
结构填充
程序如下:
#include <iostream>
using namespace std;
struct node1 {
int id;
char name[4];
};
struct node2 {
int id;
char name[3];
};
int
main(int argc, char* argv[])
{
cout << sizeof(struct node1) << endl;
cout << sizeof(struct node2) << endl;
return 0;
}
并且编译器是g++ (GCC) 4.6.3
. 输出是:
8
8
我真的不明白为什么会这样。为什么输出sizeof(struct node2)
不是7?