cpp共用體理解

2021-09-12 18:47:46 字數 417 閱讀 7700

在網上搜尋了相關的內容但還是不如自己寫一段**來加深功能

共用體(聯合體) union 與結構體相似 但是它的所有成員變數都共用一段起始記憶體位址而儲存在同一段記憶體中

使用格式:

union 共用體名

成員型別 共用體名稱

成員型別 共用體名稱

}共用體變數;//不可以在此處(定義共用體變數時)進行初始化

//共用體的特點 ①使用同一記憶體段存放不同資料型別的資料,注意每一瞬時只能存放其中的一種資料 ②對共用體成員進行賦值,只記錄最後乙個賦值的資料,具有堆疊的特性 ③共同體變數的位址和它各個成員的位址都是同乙個位址

#includeusing namespace std;

union a

a;int main()

結構體 共用體

結構體 結構體的定義1 struct mystruct 定義新變數 struct mystruct s1 結構體定義2 typedef struct mystruct mstrct 定義新變數 mstrct s1 結構體定義3 type struct mstrct 定義新變數 mstrct s1 共...

共用體詳解

共用體同結構體的定義形式上相同,只是把關鍵字struct改為union。有時需要把幾種不同型別的變數放在同有一記憶體區域中,見圖12 6,把乙個整型變數,乙個字元變數,乙個實型變數放在同一記憶體區域中,儘管三個變數占用位元組數各不相同,但起始位址都一樣 例如1000 它要用 覆蓋 技術,使多個變數互...

共用體練習

給定n和m,接下來有n個描述,每個描述包含乙個型別標誌和一組相應的資料。型別標誌共3種 int double string,然後對應一組相應的資料。緊接著有m個詢問,每個詢問僅包含乙個整數x,要求輸出第x個描述對應的資料 string型別保證不含空格,每組對應string資料不會超過19個字元 輸入...