一文攻破共用体-C语言
生活随笔
收集整理的這篇文章主要介紹了
一文攻破共用体-C语言
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一文攻破共用體-C語言
1 什么是共用體
由幾個不同的變量共享同一段內存的結構,稱為“共用體”類型的結構。
例如,把一個短整型變量、一個字符型變量和一個實型變量放在同一個地址開始的內存單元中。以上 3 個變量在內存中占的字節數不同,但都是從同一地址開始存放,也就是使用覆蓋技術,后一個數據覆蓋了前面的數據。
定義共用體類型變量的一般形式為:
union 共用體名 {成員表列 } 變量表列; // 變量列表可有可無,如果“有”的話,意味著在聲明類型的同時定義變量,“沒有”的話僅僅代表聲明類型定義共用體類型變量:
// 第一種形式 union Data {int i;char ch;float f; } a, b, c;// 第二種形式 union Data {int i;char ch;float f; }; union Data a, b, c;共用體變量所占的內存大小等于占用內存最大的成員所占的內存大小,如共用體變量 a所占的內存大小為 4 個字節,因為占用內存最大的成員占用的內存大小為 4 個字節。
2 共用體變量的引用
與結構體一樣,通過成員運算符 · 進行引用,正確的引用方式如下:
a.i; a.ch; a.f;注意:只有定義了共用體變量后才能引用它,同時不能引用共用體變量,只能引用共用體變量的成員。
3 共用體類型數據的特點
(1)每一瞬間只能存在其中一個成員,而不能同時存放幾個。
(2)對共用體變量初始化時,初始化表中只能有一個常量。
(3)共用體變量中起作用的成員是最后一次被賦值的成員。原有變量存儲單元中的值被取代。
(4)共用體變量的地址和它的各成員的地址都是同一地址。
(5)不能對共用體變量名賦值,也不能引用變量名來得到值。
總結
以上是生活随笔為你收集整理的一文攻破共用体-C语言的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 修改 pip 下载源
- 下一篇: 一文攻破枚举类型-C语言