在修改别人的代码的过程中,发现很多人会把struct和struct的定义混淆,在这里主要是为了提醒自己Struct定义的规范性。
#includestruct x{ int a; char b;};typedef struct g{ int a; char b;}G;int main(){ int a; char b; int m = sizeof(a); int n = sizeof(b); printf("size of int is %d\n", m); printf("size of char is %d\n", n); int x = sizeof(x); int y = sizeof(G); printf("size of struct is %d\n", x); printf("size of struct G is %d\n", y); return 0;}
运行的结果为:
在这里Struct G的大小为8是因为:字节对齐,说明Struct在默认情况下,就已经做了字节对齐。