2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩7頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、變量的作用域和存儲類型變量的作用域和存儲類型一、一、作用域和生存期作用域和生存期C程序的標(biāo)識符作用域有三種:局部、全局、文件。標(biāo)識符的作用域決定了程序中的哪些語句可以使用它,換句話說,就是標(biāo)識符在程序其他部分的可見性。通常,標(biāo)識符的作用域都是通過它在程序中的位置隱式說明的。1局部作用域局部作用域前面各個例子中的變量都是局部作用域,他們都是聲明在函數(shù)內(nèi)部,無法被其他函數(shù)的代碼所訪問。函數(shù)的形式參數(shù)的作用域也是局部的,它們的作用范圍僅限于函

2、數(shù)內(nèi)部所用的語句塊。voidadd(int)main()intnum=5add(num)printf(%dnnum)輸出5voidadd(intnum)numprintf(%dnnum)輸出6上面例子里的兩個num變量都是局部變量,只在本身函數(shù)里可見。前面我們說了,在兩個函數(shù)出現(xiàn)同名的變量不會互相干擾,就是這個道理。所以上面的兩個輸出,在主函數(shù)里仍然是5,在add()在很多C語言書上,都沒有說明文件作用域,或者只是略微的提到,其實文件作

3、用域在較大程序中很有作用(在多文件系統(tǒng)中)。文件作用域是指外部標(biāo)識符僅在聲明它的同一個轉(zhuǎn)換單元內(nèi)的函數(shù)匯總可見。所謂轉(zhuǎn)換單元是指定義這些變量和函數(shù)的源代碼文件(包括任何通過#include指令包含的源代碼文件)。static存儲類型修飾符指定了變量具有文件作用域。staticintnumstaticvoidadd(int)main()scanf(%dadd(num)printf(%dnnum)voidadd(num)num上面的程序中變

4、量num和函數(shù)add()在聲明是采用了static存儲類型修飾符,這使得它們具有文件作用域,僅愛定義它們的文件內(nèi)可見。由于我們提到的大多數(shù)程序都只有一個編譯文件組成,所以這種寫法沒有實際意義。但是實際工程上的文件有很多,它們不是由一個人寫成的,由很多人共同完成,這些文件都是各自編譯的,這難免使得某些人使用了一樣的全局變量名,那么為了以后程序中各自的變量和函數(shù)不互相干擾,就可以使用static修飾符,這樣在連接到同一個程序的其他代碼文件而

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論