0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是C語言共用體類型

jf_78858299 ? 來源:C語言入門到精通 ? 作者:閆小林 ? 2023-03-24 15:13 ? 次閱讀

什么是C語言共用體類型

一般形式

union 共用體名
{
成員表列
}變量表列;

結(jié)構(gòu)體變量所占內(nèi)存長度是各成員占的內(nèi)存長度之和。每個成員分別占有其自己的內(nèi)存單元。而共用體變量所占的內(nèi)存長度等于最長的成員的長度。

C語言引用共用體變量的方式

只有先定義了共用體變量才能引用它,但應(yīng)注意,不能引用共用體變量,而只能引用共用體變量中的成員。

C語言共用體類型數(shù)據(jù)的特點(diǎn)

  1. 同一個內(nèi)存段可以用來存放幾種不同類型的成員,但在每一瞬時只能存放其中一個成員,而不是同時存放幾個。
  2. 可以對共用體變量初始化,但初始化表中只能有一個常量。
  3. 共用體變量中起作用的成員是最后一次被賦值的成員,在對共用體變量中的一個成員賦值后,原有變量存儲單元中的值就取代。
  4. 共用體變量的地址和它的各成員的地址都是同一地址。
  5. 不能對共用體變量名賦值,也不能企圖引用變量名來得到一個值。
  6. C語言規(guī)定不能把共用體變量作函數(shù)參數(shù),但可以使用指向共用體變量的指針作函數(shù)參數(shù)。
  7. 共用體類型可以出現(xiàn)在結(jié)構(gòu)體類型定義中,也可以定義共用體數(shù)組。

C語言使用共同體輸出成績

#include
union data
{
float score;
};
int main(){
union data str;
str.score=90.5;
printf("%f\\n",str.score);
return 0;
}

編譯運(yùn)行結(jié)果:

90.500000

--------------------------------
Process exited after0.1584 secondswith return value0
請按任意鍵繼續(xù). . .
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    2905

    瀏覽量

    73570
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7575

    瀏覽量

    134358
  • 結(jié)構(gòu)體
    +關(guān)注

    關(guān)注

    1

    文章

    127

    瀏覽量

    10806
收藏 人收藏

    評論

    相關(guān)推薦

    C語言-枚舉、共用

    前面章節(jié)學(xué)習(xí)了結(jié)構(gòu),結(jié)構(gòu)里可以按順序存放相同或者不同的數(shù)據(jù)類型,每個成員都有它對應(yīng)的存儲空間。 而共用和結(jié)構(gòu)
    的頭像 發(fā)表于 09-09 11:31 ?893次閱讀

    C語言必備知識共用

    共用是一種 構(gòu)造數(shù)據(jù)類型 ,有時候也稱之為聯(lián)合體。它的用途:使幾個不同類型的變量共占一段內(nèi)存。
    的頭像 發(fā)表于 11-29 16:04 ?885次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>必備知識<b class='flag-5'>共用</b><b class='flag-5'>體</b>

    結(jié)構(gòu)-共用和用戶定義類型

    結(jié)構(gòu)-共用和用戶定義類型
    發(fā)表于 01-31 10:48

    什么是C語言共用?

    ;volatile unsigned char G: 1;volatile unsigned char DP: 1; } B; volatile unsigned char W;} ;這是個什么共用?怎么稱呼的?這是共用
    發(fā)表于 10-25 02:32

    結(jié)構(gòu)共用的區(qū)別

    轉(zhuǎn)載重點(diǎn):共用的所有成員占用同一段內(nèi)存,修改一個成員會影響其余所有成員。圖形分析影響過程通過前面的講解,我們知道結(jié)構(gòu)(Struct)是一種構(gòu)造類型或復(fù)雜
    發(fā)表于 07-20 06:57

    C語言的結(jié)構(gòu)共用在單片機(jī)中的妙用是什么

    【分享】C語言的結(jié)構(gòu)共用在單片機(jī)中的妙用C語言
    發(fā)表于 11-30 06:13

    C預(yù)處理與C語言基本數(shù)據(jù)類型

    指令表:注意:宏名的書寫由標(biāo)識符與兩邊各兩條下劃線構(gòu)成。C語言基本數(shù)據(jù)類型不同操作系統(tǒng)中數(shù)據(jù)類型所占字節(jié)數(shù)圖解數(shù)據(jù)類型的其他分類:變量常量(
    發(fā)表于 12-21 08:29

    怎樣去使用C語言的結(jié)構(gòu)共用

    C語言的結(jié)構(gòu)共用分別有何特點(diǎn)呢?怎樣去使用C語言
    發(fā)表于 01-17 07:51

    聯(lián)合體/共用的使用方法

    大家好,我是ZhengN。本次給分享聯(lián)合體的一些知識。聯(lián)合體/共用的使用 C語言中,聯(lián)合體/共用
    發(fā)表于 02-28 10:05

    共用和結(jié)構(gòu)的區(qū)別

    c++中,結(jié)構(gòu)(struct)和共用(union)是兩種很相似的復(fù)合數(shù)據(jù)類型,都可以用來存儲多種數(shù)據(jù)
    發(fā)表于 11-19 17:46 ?3.7w次閱讀

    C語言程序設(shè)計教程之結(jié)構(gòu)共用的詳細(xì)資料說明

    本文檔詳細(xì)介紹的是C語言程序設(shè)計教程之結(jié)構(gòu)共用的詳細(xì)資料說明主要內(nèi)容包括了:1 結(jié)構(gòu),2
    發(fā)表于 03-01 17:20 ?11次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>程序設(shè)計教程之結(jié)構(gòu)<b class='flag-5'>體</b>與<b class='flag-5'>共用</b><b class='flag-5'>體</b>的詳細(xì)資料說明

    什么是C語言的聯(lián)合體

    我們知道結(jié)構(gòu)(Struct)是一種構(gòu)造類型或復(fù)雜類型,它可以包含多個類型不同的成員。 在C語言
    的頭像 發(fā)表于 07-29 15:35 ?3577次閱讀
    什么是<b class='flag-5'>C</b><b class='flag-5'>語言</b>的聯(lián)合體

    C語言的結(jié)構(gòu)共用在單片機(jī)中的妙用

    【分享】C語言的結(jié)構(gòu)共用在單片機(jī)中的妙用C語言
    發(fā)表于 11-20 19:36 ?20次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>的結(jié)構(gòu)<b class='flag-5'>體</b>和<b class='flag-5'>共用</b><b class='flag-5'>體</b>在單片機(jī)中的妙用

    C語言-結(jié)構(gòu)與位域

    C語言里的結(jié)構(gòu)是可以包含不同數(shù)據(jù)類型和相同數(shù)據(jù)類型的一個有序集合,屬于構(gòu)造類型,可以自己任意組
    的頭像 發(fā)表于 08-14 10:06 ?1580次閱讀

    詳解C/C++結(jié)構(gòu)、聯(lián)合體和枚舉的區(qū)別與內(nèi)存對齊

    C語言中構(gòu)造類型一共有4種,它們分別是數(shù)組、結(jié)構(gòu)(struct)、共用(union)、枚舉
    的頭像 發(fā)表于 06-08 14:38 ?3722次閱讀
    詳解<b class='flag-5'>C</b>/<b class='flag-5'>C</b>++結(jié)構(gòu)<b class='flag-5'>體</b>、聯(lián)合體和枚舉的區(qū)別與內(nèi)存對齊