4 函數(shù)與預處理_變量屬性小結(jié).ppt_第1頁
4 函數(shù)與預處理_變量屬性小結(jié).ppt_第2頁
4 函數(shù)與預處理_變量屬性小結(jié).ppt_第3頁
4 函數(shù)與預處理_變量屬性小結(jié).ppt_第4頁
4 函數(shù)與預處理_變量屬性小結(jié).ppt_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、4.13 變量屬性小結(jié),一個變量除了數(shù)據(jù)類型以外,還有3種屬性:,(1) 存儲類別: C+允許使用auto,static,register和extern 4種存儲類別。,(2) 作用域: 指程序中可以引用該變量的區(qū)域。,(3) 存儲期: 指變量在內(nèi)存的存儲期限。,以上3種屬性是有聯(lián)系的,程序設計者只能聲明變量的存儲類別,通過存儲類別可以確定變量的作用域和存儲期。,要注意存儲類別的用法。auto, static和register 3種存儲類別只能用于變量的定義語句中,而extern只用于聲明,如 auto char c; /字符型自動變量,在函數(shù)內(nèi)定義 static int a; /靜態(tài)局部整型

2、變量或靜態(tài)外部整型變量 register int d; /整型寄存器變量,在函數(shù)內(nèi)定義 extern int b; /聲明一個已定義的外部整型變量,下面從不同角度分析它們之間的聯(lián)系。,(1) 從作用域角度分,有局部變量和全局變量。它們采用的存儲類別如下:, 局部變量 自動變量,即動態(tài)局部變量(離開函數(shù),值就消失) 靜態(tài)局部變量(離開函數(shù),值仍保留) 寄存器變量(離開函數(shù),值就消失) 形式參數(shù)(可以定義為自動變量或寄存器變量), 全局變量 靜態(tài)外部變量(只限本文件引用) 外部變量(即非靜態(tài)的外部變量,允許其他文件引用),(2) 從變量存儲期(存在的時間)來區(qū)分,有動態(tài)存儲和靜態(tài)存儲兩種類型。靜態(tài)

3、存儲是程序整個運行時間都存在,而動態(tài)存儲則是在調(diào)用函數(shù)時臨時分配單元。,動態(tài)存儲 自動變量(本函數(shù)內(nèi)有效) 寄存器變量(本函數(shù)內(nèi)有效) 形式參數(shù), 靜態(tài)存儲 靜態(tài)局部變量(函數(shù)內(nèi)有效) 靜態(tài)外部變量(本文件內(nèi)有效) 外部變量(其他文件可引用),(3) 從變量值存放的位置來區(qū)分,可分為 內(nèi)存中靜態(tài)存儲區(qū) 靜態(tài)局部變量 靜態(tài)外部變量(函數(shù)外部靜態(tài)變量) 外部變量(可為其他文件引用), 內(nèi)存中動態(tài)存儲區(qū): 自動變量和形式參數(shù), CPU 中的寄存器: 寄存器變量,概括(1):如果一個變量在某個文件或函數(shù)范圍內(nèi)是有效的(可以引用的),則稱該文件或函數(shù)為該變量的作用域,所以又稱變量在此作用域內(nèi)“可見”,這

4、種性質(zhì)又稱為變量的可見性,例如圖4.16中變量a、b在函數(shù)f1中可見。,概括(2):如果一個變量值在某一時刻是存在的,則認為這一時刻屬于該變量的存儲期。,圖4.16,圖4.17,(4) 關于作用域和存儲期的概念。圖4.16是作用域的示意圖,圖4.17是存儲期的示意圖。,表4.表示各種類型變量的作用域和存在性的情況。 自動變量和寄存器變量在函數(shù)內(nèi)的可見性和存在性是一致的。在函數(shù)外的可見性和存在性也是一致的。 靜態(tài)局部變量在函數(shù)外的可見性和存在性不一致。 靜態(tài)外部變量和外部變量的可見性和存在性是一致的。,(5) 用static來聲明一個變量的作用有二: (1)對局部變量用static聲明,使該變量在本函數(shù)調(diào)用結(jié)束后不釋放,整個程序執(zhí)行期間

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論