点击(此处)折叠或打开

  1. /*
  2.  * exercise07.c
  3.  *
  4.  * Created on: 2012-11-5
  5.  * Author: xiaobin
  6.  */

  7. typedef union
  8. {
  9.     long i;
  10.     int k[5];
  11.     char c;
  12. } DATE;

  13. struct data
  14. {
  15.     int cat;
  16.     DATE cow;
  17.     double dog;
  18. } too;

  19. int main(int argc, char* argv[])
  20. {
  21.     DATE max;
  22.     printf("%d\n", sizeof(struct data) + sizeof(max));
  23.     return 0;
  24. }

 此题是考察对数据类型长度的掌握程度。


   int-4;long-4;char-1;double-8;float-4;

   难点在于:联合的长度值是所有成员变量中最大的那个!

                       结构的长度值是所有成员变量长度之和!


   也就是说,DATE的长度是int x 5 = 20

                       data的长度是4(int) + 20(DATE) + 8(double) = 32

    那么输出的结果:


点击(此处)折叠或打开

  1. 52





10-09 13:37
查看更多