計算機二級C基礎:C語言共用體類型

字號:

共用體類型也是用來描述類型不相同的數據,但與結構體類型不同,共用體數據成員存儲時采用覆蓋技術,共享(部分)存儲空間。在結構體中增加共用體類型成員,可使結構體中產生動態(tài)成員,相當于PASCAl,語言的變體記錄。共用體類型在有的書中亦譯為聯(lián)合體類型。
    共用體類型的定義
    共用體類型定義用關鍵字union標識,形式為:
    union標識符
    {成員表};
    標識符給出共用體名,是共用體類型名的主體,定義的共用體類型由“union標識符”標識。例如,定義一個共用體類型,要求包含一個整型成員,一個字符型成員和一個單精度型成員:
    union icf
    {int i;
    char c;
    float f;
    };
    共用體變量的定義
    共用體變量的定義和結構體變量的定義類似,也有三種方法。同樣提倡使用第一種方式來定義共用體變量,考試大整理發(fā)布。
    (1)先定義共用體類型,再定義共用體變量:
    ①union共用體名
    {成員表};
    ②union共用體名變量表;
    (2)定義共用體類型的同時定義共用體變量:
    union共用體名
    {成員表}變量表;
    (3)直接定義共用體變量:
    union{成員表}變量表;
    請讀者給出共用體變量定義的實例。
    對于共用體類型數據,占有的存儲空間等于占有存儲空間的共用體成員所占空間。