結構體、共用體簡單比較

結構體、共用體

複製代碼
 1 #include <stdio.h>  
 2 union  
 3 {  
 4 int i;  
 5 char x[2];  
 6 }a;  
 7   
 8 void main()  
 9 {  
10 a.x[0] = 10;  
11 a.x[1] = 1;  
12 printf("%d",a.i);  
13 }  
14 答案:266  
15   
16 x86的機器,小端字節序,  
17 x[0]=0x0a x[1] = 0x01  
18   
19 則i就是0x0000010a  
20   
21 結果就是266.  
複製代碼
  1. 共用體和結構體的區別在於:結構體的每個域都有它自己的存儲空間;共用體所有域共用一個存儲空間。所以共用體每一時刻只有一個域的值有意義。    
  2. 結構體的大小爲所有域佔用空間的總和;共用體的大小爲佔用空間最大的域的大小 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章