摘要:
1、空结构体的size为1,因为必须保证结构体的每一个实例都在内存中有独一无二的地址;struct {static int s1;}st1;sizeof(st1) = 1;2、结构体的静态成员不会对结构体的大小产生影响,因为静态变量的存储位置与结构体的实例地址无关;struct {char a;static int s2;}st2;sizeof(st2) = 1;3、根据变量的对齐规则(“对齐”行为由编译器实施,使得变量的起始地址具有某些特性,例如,4字节的int型变量,其起始地址应该位于4个字节的边界上,即起始地址能够被4整除),以32位系统为例,变量的对齐规则如下:char在字节边界上对齐 阅读全文