聯合體和結構體看起來很像,但是共用體使用了內存覆蓋技術,同一時刻只能保存一個成員的值,如果對新的成員賦值,就會把原來成員的值覆蓋掉。
結構體所佔的字節回是所有結構體成員佔用字節的總和,但聯合體所佔字節數根據成員裡所佔字節最多的來定。
下面是聯合體定義方法:
union 聯合體類型名{ 成員列表 };
假如我們定義一個聯合體類型:
union a{short i;char j;float f;};
f所佔的字節最多為4個字節,我們的聯合體a的字節也是4個字節,a聯合體內3個成員共享這4個字節。
我們使用聯合體的時候和使用結構體一樣的飲用方法,關於賦初值看下面。
union a data={20}; //必須要用{}擴起來,必須只有一個數值。
同樣大家需要注意由於它們都共用一個地址同一塊內存空間,所以記住對其中一個成員更改,操作的時候,對別的成員影響。
文章到這裡就結束了,到這裡大家應該知道怎麼用了吧。還不太懂的話,拿代碼去研究研究。還不懂的可以關注後私信問我,我一般會在我發帖的這個時候回覆。不太及時請諒解。另外大家如果想學習c語言或者c++關注後私信發送“c語言”或者“c++”獲取群號。可領取學習資料,和大家一起學習交流,或有免費直播講解cc++,和幫助答疑。
閱讀更多 明江帶你學習編程 的文章