国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

數(shù)據(jù)庫(kù)中union的用法 C語(yǔ)言u(píng)nion的用法?

C語(yǔ)言u(píng)nion的用法?Union本質(zhì)上是C中的一個(gè)結(jié)構(gòu),它的用法類似于struct。當(dāng)您使用聯(lián)合名稱{//。。。Member}若要聲明類型,調(diào)用時(shí)應(yīng)在nameUnion type name vari

C語(yǔ)言u(píng)nion的用法?

Union本質(zhì)上是C中的一個(gè)結(jié)構(gòu),它的用法類似于struct。當(dāng)您使用

聯(lián)合名稱{

//。。。Member

}若要聲明

類型,調(diào)用時(shí)應(yīng)在name

Union type name variable name

后綴表達(dá)式前添加關(guān)鍵字Union表達(dá)式標(biāo)識(shí)符以

a.member1=10//a的形式調(diào)用成員是union

P->member1=20//P是指向union的指針

但有一些區(qū)別:

1。顧名思義,工會(huì)是許多成員共享一段記憶。在編譯時(shí),選擇最長(zhǎng)的成員進(jìn)行聲明。也就是說(shuō),在下面和程序片段中:

union a{//聲明了三個(gè)成員,但是長(zhǎng)度不同(sizeof的結(jié)果不同,但是機(jī)器的結(jié)果不同,但是double肯定是最長(zhǎng)的),所以編譯器會(huì)選擇double的長(zhǎng)度作為union a的長(zhǎng)度

int A1//sizeof(int)=4

float A2//sizeof(float)=8

double A3//sizeof(double)=16]換句話說(shuō),內(nèi)存中的上述聯(lián)合聲明等價(jià)于

struct a{

double A3

}

2。根據(jù)第一條的特點(diǎn),在給聯(lián)合成員賦值之后,需要注意的是,在使用時(shí)必須調(diào)用被賦值的成員。

C語(yǔ)言u(píng)nion的用法?

在C語(yǔ)言中,union的用法與struct非常相似。主要區(qū)別在于,union保持了足夠的空間來(lái)放置多個(gè)數(shù)據(jù)成員中的“一個(gè)”,而不是為每個(gè)數(shù)據(jù)成員配置空間。在union中,所有數(shù)據(jù)成員共享一個(gè)空間,并且只能同時(shí)存儲(chǔ)一個(gè)數(shù)據(jù)成員。所有數(shù)據(jù)成員都有相同的函數(shù)起始地址。具體情況:unionstatemachine{characteristentnumberchar*strdoubleexp}聯(lián)合只配置了足夠大的空間來(lái)容納數(shù)據(jù)成員的最大長(zhǎng)度。在上面的示例中,最大長(zhǎng)度是double類型,因此Statemachine的空間大小是double數(shù)據(jù)類型的大小。Union是一個(gè)特殊的類,是一種構(gòu)造類型的數(shù)據(jù)結(jié)構(gòu)??梢栽凇奥?lián)合”中定義許多不同的數(shù)據(jù)類型。被描述為“union”類型的變量可以加載由“union”定義的任何類型的數(shù)據(jù)。這些數(shù)據(jù)共享相同的內(nèi)存段以節(jié)省空間(還有另一種節(jié)省空間的類型:位字段)。這是一個(gè)非常特殊的地方,也是工會(huì)的一個(gè)特點(diǎn)。此外,與struct一樣,聯(lián)合默認(rèn)訪問也是公共的,并且具有成員函數(shù)。