联合体union

1.一般而言,共用体类型实际占用存储空间为其最长的成员所占的存储空间; //4*7==28
2.若是该最长的存储空间对其他成员的元类型(如果是数组,取其类型的数据长度,例int a[5]为4)不满足整除关系,该最大空间自动延伸; //28除不清8,所以扩张为32

union un  

{  

  int a[7]; //元长度4

  double b; //元长度8  

  char c[10]; //元长度1  

  int d[3]; //元长度4  

};  

//sizeof(un)==32

联合体大小要满足最大元长度(8)的整数倍。

posted @ 2018-01-06 10:20  朱小勇  阅读(186)  评论(0编辑  收藏  举报