c語(yǔ)言聯(lián)合體的使用實(shí)例 C語(yǔ)言中聯(lián)合體(union)的使用?
C語(yǔ)言中聯(lián)合體(union)的使用?//C語(yǔ)言有并集。下面是一個(gè)使用Union的小例子。#包括(&L)。H>intmain(){inta=1chastr[]=“這是一個(gè)字符串!“unionitor
C語(yǔ)言中聯(lián)合體(union)的使用?
//C語(yǔ)言有并集。下面是一個(gè)使用Union的小例子。#包括(&L)。H>intmain(){inta=1chastr[]=“這是一個(gè)字符串!“unionitorpointer{intnchar*Pt}unionitorpointerv1v1。N=aprintf(%dN“,v1。N) 第1版。Pt=strprintf(%sn“,v1。PT)return0}
這個(gè)聯(lián)合體也被稱(chēng)為Commons。在我個(gè)人看來(lái),下議院的名稱(chēng)更為合理。structure和struct都屬于C語(yǔ)言數(shù)據(jù)類(lèi)型的結(jié)構(gòu)類(lèi)型。例如,uniuon data{int i char c float f}x將公共主體類(lèi)型名稱(chēng)定義為數(shù)據(jù)類(lèi)型,并且有三個(gè)屬性,即int i char c float f。這三個(gè)屬性一起占用內(nèi)存空間,因此在所選屬性中占用空間最多的是float f。它需要四個(gè)字節(jié)。由于共同的職業(yè),同一時(shí)間只能保留一個(gè)屬性?xún)?nèi)容。如果是struct data{int i char c float f}x,則表示定義的結(jié)構(gòu)類(lèi)型的名稱(chēng)是data type,這也是三個(gè)屬性。但是,內(nèi)存中占用的空間是這三個(gè)屬性的總和。如果int類(lèi)型在編譯器中分配4個(gè)字節(jié),則分配的總字節(jié)數(shù)為4 1 4,總字節(jié)數(shù)為9。由于職業(yè)單一,所有屬性?xún)?nèi)容可以同時(shí)保留
C語(yǔ)言有很多要點(diǎn)。從以往的發(fā)展經(jīng)驗(yàn)來(lái)看,可以概括如下:1。數(shù)學(xué)計(jì)算:char、int、long、int、float、double和相關(guān)的無(wú)符號(hào)類(lèi)型,以及它們?cè)谟?jì)算中的轉(zhuǎn)換。
例如,如果輸入是double,并且復(fù)雜計(jì)算后要求結(jié)果是long int,則必須注意數(shù)學(xué)中某些函數(shù)的用法。H頭文件。如果你粗心,你會(huì)有很大的計(jì)算誤差。
2. 內(nèi)存管理和溢出
漏洞最多的地方。Malloc、alloc、new用于分配內(nèi)存空間,free或delete已用完。在幾十KB的代碼中,你看不到它。在大規(guī)模的軟件開(kāi)發(fā)中,使用不當(dāng)會(huì)導(dǎo)致崩潰。
數(shù)組定義小,超出界限;子程序參數(shù)傳遞錯(cuò)誤等,將使您在調(diào)試中首先崩潰。
3. 文件操作/struct/Union/pointer操作,傳輸
各種類(lèi)型的文件,字符/二進(jìn)制/結(jié)構(gòu)和結(jié)構(gòu)數(shù)組文件存儲(chǔ)/增加/減少/打開(kāi)。指針在子程序中的應(yīng)用。
4,圖形操作
繪制幾何圖形;填充/背景/前景/透明/顯示內(nèi)存直接訪(fǎng)問(wèn)/字符放大/字體等
5,通信和外部可執(zhí)行文件
串行/并行/TCP/IP協(xié)議/SPI/SMBus。高端內(nèi)存/Io地址操作。Excel外部exe執(zhí)行。按鍵/鼠標(biāo)控制。
以上是關(guān)鍵點(diǎn)。
不要把重點(diǎn)放在if/else/for/while/do/switch/break/goto這些幼兒園孩子能理解的作業(yè)句子上。如果你必須這樣做,估計(jì)十年后,你仍然會(huì)站著不動(dòng),其他人是50K,你必須努力獲得5K。
c語(yǔ)言中聯(lián)合體有什么用?
當(dāng)一個(gè)數(shù)據(jù)超過(guò)8位時(shí),必須使用兩個(gè)或更多字節(jié)來(lái)存儲(chǔ)。例如,如果int類(lèi)型是16位數(shù)據(jù)類(lèi)型,則十進(jìn)制數(shù)256被劃分為兩個(gè)字節(jié)用于存儲(chǔ),即0x01FF,其中高字節(jié)是0x01,低字節(jié)是0xff。在存儲(chǔ)時(shí),它應(yīng)該是內(nèi)存中高字節(jié)的低位地址和內(nèi)存中低字節(jié)的高位地址。