2010年9月14日 星期二

[C++ 小學堂] 結構, 共用體與鏈表 : 共用體


前言 :
共用體也稱聯合, 可以看成一種特殊的數據結構, 但在共用體中和結構不同的是, 在共用體的成員變量在內存共享同一位置, 這也是說在某一時刻, 共同體只能表示某一成員變量. 共同體可如下定義:
union 共用體名稱{
存取數據列表;
};

範例代碼:
  1. union computerUnion{  
  2.       char brand[20];  
  3.       float price;  
  4. };  
  5. /* 
  6. * @ 共用體與結構的不同 
  7. */  
  8. void example504(){  
  9.     printf("*********%s*********\n","共用體與結構的不同");  
  10.     union computerUnion comUnion;  
  11.     computer comStruct;  
  12.   
  13.     cout << "共用體comUnion.brand地址: " << &comUnion.brand << endl;  
  14.     cout << "共用體comUnion.price地址: " << &comUnion.price << endl;  
  15.     cout << "結構comStruct.brand地址: " << &comStruct.brand << endl;  
  16.     cout << "結構comStruct.price地址: " << &comStruct.price << endl;  
  17. }  

結果:
*********共用體與結構的不同*********
共用體comUnion.brand地址: 0013FE78
共用體comUnion.price地址: 0013FE78
結構comStruct.brand地址: 0013FE58
結構comStruct.price地址: 0013FE6C

Ps.共用體初始化時, 只能對表中的一個變量進行初始化, 確卻的說是第一個變量初始.
This message was edited 3 times. Last update was at 10/05/2010 17:12:46

沒有留言:

張貼留言

[Git 常見問題] error: The following untracked working tree files would be overwritten by merge

  Source From  Here 方案1: // x -----删除忽略文件已经对 git 来说不识别的文件 // d -----删除未被添加到 git 的路径中的文件 // f -----强制运行 #   git clean -d -fx 方案2: 今天在服务器上  gi...