读书共享 Primer Plus C-part 12

第十四章 结构和其他数据形式


1.关于上struct与union 的区别

    

 1 #include<stdio.h>
 2 
 3 typedef union Book_u
 4 {
 5   int pags;
 6   int money;
 7   int num;
 8 }Book;
 9 
10 int main()
11 {
12    Book book = {.pags=101,.money=11,.num=1};
13 
14    printf("%d   %d\n",book.pags,book.num);
15    book.pags=100;
16    printf("%d   %d\n",book.pags,book.money);
17    book.money=10;
18    printf("%d   %d\n",book.pags,book.money);
19 
20 }

输出结果 如下:

   

linux:/home/lcw/code # ./a.out
1 1
1
100 100
10 10

原因是:union 同一时间只能保存一个类型的变量。

 

 

 

posted @ 2017-07-19 11:21  刘传武  阅读(111)  评论(0编辑  收藏  举报