卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

c語言共同體定義與使用 C語言中聯(lián)合體(union)的使用?

C語言中聯(lián)合體(union)的使用?聯(lián)合體也被稱為Commons。在我看來,下議院的名稱更為合理。structure和struct都屬于C語言數(shù)據(jù)類型的結(jié)構(gòu)類型。例如,uniuon data{int

C語言中聯(lián)合體(union)的使用?

聯(lián)合體也被稱為Commons。在我看來,下議院的名稱更為合理。structure和struct都屬于C語言數(shù)據(jù)類型的結(jié)構(gòu)類型。例如,uniuon data{int i char c float f}x將公共主體類型名稱定義為數(shù)據(jù)類型,并且有三個(gè)屬性,即int i char c float f。這三個(gè)屬性一起占用內(nèi)存空間,因此在所選屬性中占用空間最多的是float f。它需要四個(gè)字節(jié)。由于共同的職業(yè),同一時(shí)間只能保留一個(gè)屬性內(nèi)容。如果是struct data{int i char c float f}x,則表示定義的結(jié)構(gòu)類型的名稱是data type,這也是三個(gè)屬性。但是,內(nèi)存中占用的空間是這三個(gè)屬性的總和。如果int類型在編譯器中分配4個(gè)字節(jié),則分配的總字節(jié)數(shù)為4 1 4,總字節(jié)數(shù)為9。因?yàn)樗菃为?dú)使用的,所以可以同時(shí)保留所有屬性內(nèi)容

struct test{char name[10]/*共10字節(jié)*/[print score/*2字節(jié)*/[print number/*2字節(jié)*/}stu,那么stu在內(nèi)存(在VC中)中總共占用102=14字節(jié)的環(huán)境,它將是16字節(jié),編譯器要求它是4的整數(shù)倍)。按順序訪問內(nèi)容不會(huì)干擾內(nèi)存段中的其他數(shù)據(jù)(例如,輸入名稱不會(huì)影響分?jǐn)?shù)的內(nèi)容);

typedef union是命名共享權(quán)重的方法。Typedef是C語言的一個(gè)關(guān)鍵字,用于定義數(shù)據(jù)類型的新名稱。

2. 這里的數(shù)據(jù)類型包括內(nèi)部數(shù)據(jù)類型(int、char等)和自定義數(shù)據(jù)類型(struct等)。

3. 在編程中使用typedef有兩個(gè)目的:一個(gè)是給變量起一個(gè)新的名字,這個(gè)名字很容易記住,并且有明確的含義;另一個(gè)是簡(jiǎn)化一些更復(fù)雜的類型聲明。

4. Format typedef original type name new type name

Commons:sizeof(Union data1)的值是16。默認(rèn)情況下,Commons的最大基本類型是double,需要8個(gè)字節(jié),因此Commons與8對(duì)齊。字符數(shù)組C2占用9字節(jié),因此整個(gè)公共體應(yīng)該占用9字節(jié),但根據(jù)對(duì)齊原則,實(shí)際分配給它的內(nèi)存是16字節(jié)。Struct:Struct數(shù)據(jù)與8字節(jié)對(duì)齊,long類型的成員1分配8字節(jié)。s、 I、C和a最初分別占用4、2、1和10字節(jié)。考慮到對(duì)齊方式,s分配4個(gè)字節(jié),I分配2個(gè)字節(jié),C分配2個(gè)字節(jié)。此時(shí),8個(gè)字節(jié)剛剛用完。最初分配了10個(gè)字節(jié)。考慮到對(duì)齊,整個(gè)結(jié)構(gòu)占用的存儲(chǔ)空間是8的倍數(shù),因此分配了16個(gè)字節(jié)。因此,結(jié)構(gòu)數(shù)據(jù)占用84216=32字節(jié)。