今天就跟大家聊聊有關(guān)C語(yǔ)言數(shù)據(jù)類(lèi)型是如何被大多數(shù)計(jì)算機(jī)系統(tǒng)所支持,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
成都創(chuàng)新互聯(lián)公司專(zhuān)注于鹽湖網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供鹽湖營(yíng)銷(xiāo)型網(wǎng)站建設(shè),鹽湖網(wǎng)站制作、鹽湖網(wǎng)頁(yè)設(shè)計(jì)、鹽湖網(wǎng)站官網(wǎng)定制、微信平臺(tái)小程序開(kāi)發(fā)服務(wù),打造鹽湖網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供鹽湖網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。
問(wèn)題:
在讀K&R版的The C Programming Language一書(shū)時(shí),我在[介紹,第3頁(yè)]看到這樣一條說(shuō)明:
因?yàn)镃語(yǔ)言提供的數(shù)據(jù)類(lèi)型和控制結(jié)構(gòu)可以直接被大部分計(jì)算機(jī)系統(tǒng)所支持,所以在實(shí)現(xiàn)自包含程序時(shí)所需要的運(yùn)行庫(kù)文件一般很小。
這段黑體說(shuō)明了什么?能否找到一個(gè)例子來(lái)說(shuō)明C語(yǔ)言中的某種數(shù)據(jù)類(lèi)型或控制結(jié)構(gòu)不被某種計(jì)算機(jī)系統(tǒng)直接支持呢?
回答:
事實(shí)上,C語(yǔ)言中確實(shí)有不被直接支持的數(shù)據(jù)類(lèi)型。
在許多嵌入式系統(tǒng)中,硬件上并沒(méi)有浮點(diǎn)運(yùn)算單元。因此,如果你寫(xiě)出下面的代碼:
float x = 1.0f, y = 2.0f;
return x + y;
可能會(huì)被轉(zhuǎn)化成下面這種形式:
unsigned x = 0x3f800000, y = 0x40000000;
return _float_add(x, y);
然后編譯器或標(biāo)準(zhǔn)庫(kù)必須提供’floatadd()’的具體實(shí)現(xiàn),這會(huì)占用嵌入式系統(tǒng)的內(nèi)存空間。依此去計(jì)算代碼在某個(gè)微型系統(tǒng)(譯者注:也就是指微型嵌入式系統(tǒng))的實(shí)際字節(jié)數(shù),也會(huì)發(fā)現(xiàn)有所增加。
另一個(gè)常見(jiàn)的例子是64位整型數(shù)(C語(yǔ)言標(biāo)準(zhǔn)中’long long’類(lèi)型是1999年之后才出現(xiàn)的),這種類(lèi)型在32位系統(tǒng)上也不能直接使用。古董級(jí)的SPARC系統(tǒng)則不支持整型乘法,所以在運(yùn)行時(shí)必須提供乘法的實(shí)現(xiàn)。當(dāng)然,還有一些其它例子。
其它語(yǔ)言
相比起來(lái),其它編程語(yǔ)言有更加復(fù)雜的基本類(lèi)型。
比如,Lisp中的symbol需要大量的運(yùn)行時(shí)實(shí)現(xiàn)支持,就像Lua中的table、Python中的string、Fortran中的 array,等等。在C語(yǔ)言中等價(jià)的類(lèi)型通常要么不屬于標(biāo)準(zhǔn)庫(kù)(C語(yǔ)言沒(méi)有標(biāo)準(zhǔn)symbol或table),要么更加簡(jiǎn)單,而且并不需要那么多的運(yùn)行時(shí)支 持(C語(yǔ)言中的array基本上就是指針,以NULL結(jié)尾的字符串實(shí)現(xiàn)起來(lái)也很簡(jiǎn)單)。
控制結(jié)構(gòu)
異常處理是C語(yǔ)言中沒(méi)有的一種控制結(jié)構(gòu)。非局部的退出只有’setjmp()’和’longjmp()’兩種,只能提供保存和恢復(fù)某些部分的處理器狀態(tài)。相比之下,C++運(yùn)行時(shí)環(huán)境必須先遍歷函數(shù)調(diào)用棧,然后調(diào)用析構(gòu)函數(shù)和異常處理函數(shù)。
看完上述內(nèi)容,你們對(duì)C語(yǔ)言數(shù)據(jù)類(lèi)型是如何被大多數(shù)計(jì)算機(jī)系統(tǒng)所支持有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
當(dāng)前名稱(chēng):C語(yǔ)言數(shù)據(jù)類(lèi)型是如何被大多數(shù)計(jì)算機(jī)系統(tǒng)所支持
鏈接分享:http://aaarwkj.com/article14/ispgge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、云服務(wù)器、網(wǎng)站維護(hù)、企業(yè)網(wǎng)站制作、品牌網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)