版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第頁共頁C語言初始化效率問題及關(guān)鍵字解釋C語言初始化效率問題及關(guān)鍵字解釋C語言是一門通用計算機(jī)編程語言,應(yīng)用廣泛。C語言的設(shè)計目的是提供一種能以簡易的方式編譯、處理低級存儲器、產(chǎn)生少量的機(jī)器碼以及不需要任何運行環(huán)境支持便能運行的編程語言。本文主要介紹C語言初始化效率問題以及關(guān)鍵字解釋。一、初始化效率1、在靜態(tài)變量的初始化中,我們可以把可執(zhí)行程序文件想要初始化的值放在當(dāng)程序執(zhí)行時變量將會使用的位置。當(dāng)可執(zhí)行文件載入到內(nèi)存時,這個已經(jīng)保存了正確初始值的位置將賦值給那個變量,完成這個任務(wù)并不需要額外的時間,也不需要額外的指令,變量將會得到正確的值、2、自動變量當(dāng)程序鏈接時還無法判斷自動變量的存儲位置。事實上,函數(shù)的部分變量在函數(shù)的每次調(diào)用中可能占據(jù)不同的位置?;谶@個理由,自動變量沒有缺省的初始值,而顯示的初始化將在代碼塊的其實出插入一條隱式的賦值語句。一句話總結(jié);部分變量的初始化與分開寫毫無區(qū)別即什么時候使用變量什么時候聲明,盡量重用,不要讓他隱式初始化,浪費內(nèi)存static關(guān)鍵字的修飾。當(dāng)它用于函數(shù)定義時,或用于代碼塊之外的變量聲明時,static關(guān)鍵字用于修改標(biāo)識符的鏈接屬性,從external改為internal,但標(biāo)識符的存儲類型和作用域不受影響。用這種方式聲明的函數(shù)或變量只能在聲明他們的文件中訪問??偨Y(jié):一下以文件解釋inta;//a變量存儲在靜態(tài)內(nèi)存特點:在程序運行之前創(chuàng)立可以被其他的C文件訪問以及它的下方函數(shù)使用初始化值為0=================staticinta;特點:在程序運行之前存在靜態(tài)內(nèi)存存儲不能被其他文件訪問================代碼塊中的變量staticinta;靜態(tài)變量與inta;(部分變量)的區(qū)別是:一個存儲在靜態(tài)內(nèi)存也就是普通內(nèi)存另一個是部分變量,也就是運行時堆棧函數(shù)上添加static的話:不能被其他的文件訪問該函數(shù)幾個關(guān)鍵字的處理static靜態(tài)內(nèi)存auto運行時堆棧register硬件存放器external引用外部文件變量函數(shù)internal引用內(nèi)部文件變量函數(shù)=======================關(guān)于代碼塊變量被static修飾保證該函數(shù)屢次調(diào)用時,我們?yōu)榱朔乐乖撟兞坎蛔冞M(jìn)展的處理比方我們進(jìn)展了屢次的調(diào)用二、關(guān)鍵字解釋變量的存儲類型(storageclass)是指存儲變量值的內(nèi)存類型。變量的存儲類型決定變量何時創(chuàng)立、何時銷毀以及它的值將保持多久。有三個地方可以用于存儲變量:普通內(nèi)存、運行時堆棧、硬件存放器。在這三個地方存儲的變量具有不同的特性。變量的缺省存儲類型取決于它的聲明位置。但凡在任何代碼塊之外聲明的變量總是存儲于靜態(tài)內(nèi)存中,也就是不屬于堆棧的內(nèi)存,這類變量成為靜態(tài)變量。對于這類變量,你無法為他們制定其他存儲類型。靜態(tài)變量在程序運行之前創(chuàng)立,在程序的整個執(zhí)行期間始終存在。它始終保持原先的值,除非給它賦一個不同的值或者程序完畢。在代碼塊內(nèi)部聲明的變量的缺省存儲類型是自動的(automatic),也就是說他存儲于堆棧中,成為自動變量。有一個關(guān)鍵字auto就是用修飾這種存儲類型的,但它極少使用,因為代碼塊中的變量在缺省情況下就是自動變量在程序執(zhí)行到聲明自動變量的代碼塊時,自動變量才被創(chuàng)立,當(dāng)程序的執(zhí)行流分開該代碼時,這些自動變量便自行銷毀。假如該代碼塊被數(shù)次執(zhí)行,例如一個函數(shù)被反復(fù)調(diào)用,這些自動變量每次都將重新創(chuàng)立。在代碼塊再次執(zhí)行時,這些自動變量在堆棧中所占據(jù)的內(nèi)存位置有可能和原先的位置一樣,也可能不同。及時他們所占據(jù)的位置一樣,你也不能保證這塊呢村同時不會有其他的用處,因此,我們可以說自動變量在代碼塊執(zhí)行完畢后就消失。當(dāng)代碼塊再次執(zhí)行時,他們的值一般并不是上次執(zhí)行時的值。對于在代碼塊內(nèi)部聲明的變量,假如給它加上關(guān)鍵字static,可以使他的存儲類型從自動變?yōu)殪o態(tài)。具有靜態(tài)存儲類型的變量在整個程序執(zhí)行過程中一直存在,而不僅僅在聲明它的代碼塊的執(zhí)行時存在。注意,修改變量的'存儲類型并不標(biāo)示修改該變量的作用域,它任然只能在該代碼塊內(nèi)部按名字訪問。函數(shù)的形式參數(shù)不能聲明。最后,關(guān)鍵字register可以用于自動變量的聲明,提示他們應(yīng)該存儲于機(jī)器的硬件存放器而不是內(nèi)存中,這類變量稱為存放器變量。通常,存放器變量比存儲于內(nèi)存的變量訪問起來效率更高。但是,編譯器并不一定要理財register關(guān)鍵字,假如有太多的變量被聲明為register,它只選取前幾個實際存儲于存放器中,其余的就按普通自動比那輛處理。假如一個編譯器自己具有一套存放器優(yōu)化方法,它可能忽略register關(guān)鍵字,使用:使用說明,為了加快程序的編譯速度,你希望把使用頻率最高的那些變量聲明為存放器變量,在有些計算機(jī)中,假如你把指針聲明為存放器變量,程序的效率將能得到進(jìn)步,有其是那些頻繁的執(zhí)行間接訪問操作的指針,你可以把函數(shù)的形式參數(shù)聲明為存放器變量,編譯器會在函數(shù)的起始位置生成指令,把這些值從堆棧復(fù)制到存放器中。但是,完全有可能,這個優(yōu)化措施所節(jié)省的時間和控件的開銷還抵不上復(fù)制這幾個值所用的開銷。存放器變量的創(chuàng)立和銷毀時間和自動變量一樣,但它需要一些額外的工作。在一個使用存放器變量的函數(shù)返回之前,這些存放器先前存儲的值必須恢復(fù),確保調(diào)用者的存放器變量未被破壞。許多機(jī)器使用運行時堆棧來完成這個任務(wù)。當(dāng)函數(shù)開場執(zhí)行時,它把需要使用的所有存放器的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 贛南師范大學(xué)科技學(xué)院《汽車企業(yè)管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 贛州師范高等??茖W(xué)校《文字學(xué)概要》2023-2024學(xué)年第一學(xué)期期末試卷
- 贛東學(xué)院《人才管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣西中國舞培訓(xùn)教程課件
- 七年級道德與法治上冊第三單元師長情誼第六課師生之間第1課時走近老師教案新人教版
- 三年級科學(xué)下冊第四單元關(guān)心天氣4今天刮什么風(fēng)教案蘇教版1
- 《讀書考試法》課件
- 小學(xué)生語法精講課件
- 工藝基礎(chǔ)培訓(xùn)課件
- 《陳列無聲的語言》課件
- 安徽省水利工程質(zhì)量檢測和建筑材料試驗服務(wù)收費標(biāo)準(zhǔn)
- 2022課程標(biāo)準(zhǔn)解讀及學(xué)習(xí)心得:大單元教學(xué)的實踐與思考
- OA協(xié)同辦公系統(tǒng)運行管理規(guī)定
- 公安警察工作匯報PPT模板課件
- 直腸癌個案護(hù)理范文結(jié)腸癌個案護(hù)理.doc
- 某小區(qū)建筑節(jié)能保溫工程監(jiān)理實施細(xì)則
- 污水處理中常用的專業(yè)術(shù)語
- 石英砂過濾器說明書
- 外市電引入工程實施管理要求(重要)
- 公務(wù)員錄用體檢表模板
- 工資轉(zhuǎn)移證明(樣表)
評論
0/150
提交評論