定义一个空的结构体,那么,这个结构体占多大空间呢?
在C中,空结构的大小为0。
在C++中,空结构的大小则为1。
#include <stdio.h> struct A { }aa; int main(int argc, char *argv[]) { printf("%d\n", sizeof(struct A)); printf("%d\n", sizeof(aa)); return 0; }
test@test:~/tmp/cbase$ gcc struct.c test@test:~/tmp/cbase$ ./a.out 0 0 test@test:~/tmp/cbase$ g++ struct.c test@test:~/tmp/cbase$ ./a.out 1 1