在C語言中有一個從形式上看長得與結(jié)構(gòu)類型很像的類型甚至可以把它稱為結(jié)構(gòu)體的“孿生兄弟”,它也是C語言除了結(jié)構(gòu)體這種可包含多種類型數(shù)據(jù)的結(jié)構(gòu)類型外的一種可包含多種類型數(shù)據(jù)的結(jié)構(gòu)類型。它就是共用體(union)。
成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司,提供成都網(wǎng)站建設(shè)、成都做網(wǎng)站,網(wǎng)頁設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);可快速的進行網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,是專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!共用體(聯(lián)合體)在C語言中,可以定義不同數(shù)據(jù)類型的數(shù)據(jù)共占同一段內(nèi)存空間,以滿足某些特殊的數(shù)據(jù)處理要求,這中數(shù)據(jù)結(jié)構(gòu)就是共用體。
共用體又稱聯(lián)合體,它和結(jié)構(gòu)體一樣是由各種不同類型的數(shù)據(jù)組成的,這些數(shù)據(jù)稱為共用體的成員。這些成員既可以是同一類型的也可以是不同類型的。
聯(lián)合體的存儲是所有的成員共享一個空間,但是同一時間只有一個成員是有效的,其中union的大小是其大的成員
定義共用體為了定義共用體,您必須使用 union 語句,方式與定義結(jié)構(gòu)類似。union 語句定義了一個新的數(shù)據(jù)類型,帶有多個成員。union 語句的格式如下:
union [union tag]
{
member definition;
member definition;
...
member definition;
} [one or more union variables];
其中,union是C語言中的關(guān)鍵字,表明定義一個共用體類型,union tag 是可選的,每個 member definition 是標準的變量定義,比如 int i; 或者 float f; 或者其他有效的變量定義。在共用體定義的末尾,最后一個分號之前,您可以指定一個或多個共用體變量,這是可選的。
共用體變量的定義union [union tag]
{
member definition;
member definition;
...
member definition;
}variable1,variable2,...variableN;
union [union tag]
{
member definition;
member definition;
...
member definition;
} [one or more union variables];
union [union tag] variable1,variable2,...variableN;
union
{
member definition;
member definition;
...
member definition;
} variable1,variable2,...variableN;
初始化共用體變量聯(lián)合體的初始化與結(jié)構(gòu)體不同,聯(lián)合體只能存儲一個值。聯(lián)合體有三種初始化方法:
union mark
{
int score; //表示分數(shù)
char degree[4]; //表示等級
}liming={90}; //定義共用體變量liming并初始化
訪問共用體成員為了訪問共用體的成員,我們使用成員訪問運算符(.)。成員訪問運算符是共用體變量名稱和我們要訪問的共用體成員之間的一個句號。您可以使用 union 關(guān)鍵字來定義共用體類型的變量。下面的實例演示了共用體的用法:
實例#include#includeunion Data
{
int i;
float f;
char str[20];
};
int main()
{
union Data data;
data.i = 10;
data.f = 220.5;
strcpy( data.str, "C Programming");
printf( "data.i : %d\n", data.i);
printf( "data.f : %f\n", data.f);
printf( "data.str : %s\n", data.str);
return 0;
}
運行結(jié)果:
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧