union在c中本質上是乙個結構體,用法和struct相似,用
union 名稱 ;
來宣告
型別使用時,要在名稱前加上關鍵字union
union 型別名稱 變數名稱;
在呼叫時用字尾表示式expression.identifier的形式來呼叫成員:
a.member1 = 10;// a為union
p->member1 = 20;// p為union的指標
但有一些不同點:
1.union,顧名思義,就是多個成員共用一塊記憶體。在編譯時會選取成員中長度最長的來宣告。也就是說在如下與程式片段中:
union a ;
也就是說,上述union宣告在記憶體中等同於
struct a ;
2.根據第一條的特點,在對union成員進行賦值後,要注意使用時一定要呼叫賦值過的成員。 C語言 C 中的union用法總結
開始的話 已經好長時間沒有更新了,對不起自己,更對不起我親愛的讀者,同時也對不起自己開辦的這個部落格平台。忙,太忙了,忙於找工作,找乙份好工作,糾結於去大城市闖呢,還是回到本省的首府城市。大家都在糾結這個問題,也希望大家和我討論討論。別的先不說了,都工作這麼長時間了,還回過頭來總結union,確實有...
(C語言)共用體union的用法舉例
以前在學校學習c語言的時候一直搞不懂那個共用體union有什麼用的。工作之後才發現它的一些妙用,現舉例如下 1.為了方便看懂 比如說想寫乙個3 3的矩陣,可以這樣寫 注 下面用紅色部分標記的地方是後來新增上去的,謝謝yrqing718的提醒!struct matrix float f 3 3 mat...
C中union的用法
union是一種 類似 與struct的聯合體,聯合的所有成員引用的是記憶體中的相同位置,以最大的成員的記憶體長度作為union的記憶體大小。union主要用來節省空間,預設的訪問許可權是公有的.include using namespace std union node t int c obj s...