首頁考試吧論壇Exam8視線考試商城網(wǎng)絡(luò)課程模擬考試考友錄實用文檔求職招聘論文下載
2013中考
法律碩士
2013高考
MBA考試
2013考研
MPA考試
在職研
中科院
考研培訓(xùn) 自學(xué)考試 成人高考
四 六 級
GRE考試
攻碩英語
零起點日語
職稱英語
口譯筆譯
申碩英語
零起點韓語
商務(wù)英語
日語等級
GMAT考試
公共英語
職稱日語
新概念英語
專四專八
博思考試
零起點英語
托福考試
托業(yè)考試
零起點法語
雅思考試
成人英語三級
零起點德語
等級考試
華為認證
水平考試
Java認證
職稱計算機 微軟認證 思科認證 Oracle認證 Linux認證
公 務(wù) 員
導(dǎo)游考試
物 流 師
出版資格
單 證 員
報 關(guān) 員
外 銷 員
價格鑒證
網(wǎng)絡(luò)編輯
駕 駛 員
報檢員
法律顧問
管理咨詢
企業(yè)培訓(xùn)
社會工作者
銀行從業(yè)
教師資格
營養(yǎng)師
保險從業(yè)
普 通 話
證券從業(yè)
跟 單 員
秘書資格
電子商務(wù)
期貨考試
國際商務(wù)
心理咨詢
營 銷 師
司法考試
國際貨運代理人
人力資源管理師
廣告師職業(yè)水平
衛(wèi)生資格 執(zhí)業(yè)醫(yī)師 執(zhí)業(yè)藥師 執(zhí)業(yè)護士
會計從業(yè)資格
基金從業(yè)資格
統(tǒng)計從業(yè)資格
經(jīng)濟師
精算師
統(tǒng)計師
會計職稱
法律顧問
ACCA考試
注冊會計師
資產(chǎn)評估師
審計師考試
高級會計師
注冊稅務(wù)師
國際內(nèi)審師
理財規(guī)劃師
美國注冊會計師
一級建造師
安全工程師
設(shè)備監(jiān)理師
公路監(jiān)理師
公路造價師
二級建造師
招標師考試
物業(yè)管理師
電氣工程師
建筑師考試
造價工程師
注冊測繪師
質(zhì)量工程師
巖土工程師
造價員考試
注冊計量師
環(huán)保工程師
化工工程師
咨詢工程師
結(jié)構(gòu)工程師
城市規(guī)劃師
材料員考試
監(jiān)理工程師
房地產(chǎn)估價
土地估價師
安全評價師
房地產(chǎn)經(jīng)紀人
投資項目管理師
環(huán)境影響評價師
土地登記代理人
繽紛校園 實用文檔 英語學(xué)習(xí) 作文大全 求職招聘 論文下載 訪談|游戲
軟件水平考試
軟件水平考試資訊
軟件水平考試試題
軟件水平考試專項輔導(dǎo)
軟件水平考試交流互動
軟件水平考試交流互動
您現(xiàn)在的位置: 考試吧 > 軟件水平考試 > 復(fù)習(xí)資料 > 程序員資料 > 正文

C語言初學(xué)者入門知識之函數(shù)04

  變量的作用域

  在討論函數(shù)的形參變量時曾經(jīng)提到, 形參變量只在被調(diào)用期間才分配內(nèi)存單元,調(diào)用結(jié)束立即釋放。 這一點表明形參變量只有在函數(shù)內(nèi)才是有效的,離開該函數(shù)就不能再使用了。這種變量有效性的范圍稱變量的作用域。不僅對于形參變量,C語言中所有的量都有自己的作用域。變量說明的方式不同,其作用域也不同。 C語言中的變量,按作用域范圍可分為兩種, 即局部變量和全局變量。

  一、局部變量

  局部變量也稱為內(nèi)部變量。局部變量是在函數(shù)內(nèi)作定義說明的。其作用域僅限于函數(shù)內(nèi), 離開該函數(shù)后再使用這種變量是非法的。

  例如:

  int f1(int a) /*函數(shù)f1*/

  {

  int b,c;

  ……

  }a,b,c作用域

  int f2(int x) /*函數(shù)f2*/

  {

  int y,z;

  }x,y,z作用域

  main()

  {

  int m,n;

  }

  m,n作用域 在函數(shù)f1內(nèi)定義了三個變量,a為形參,b,c為一般變量。在 f1的范圍內(nèi)a,b,c有效,或者說a,b,c變量的作用域限于f1內(nèi)。同理,x,y,z的作用域限于f2內(nèi)。 m,n的作用域限于main函數(shù)內(nèi)。關(guān)于局部變量的作用域還要說明以下幾點:

  1. 主函數(shù)中定義的變量也只能在主函數(shù)中使用,不能在其它函數(shù)中使用。同時,主函數(shù)中也不能使用其它函數(shù)中定義的變量。因為主函數(shù)也是一個函數(shù),它與其它函數(shù)是平行關(guān)系。這一點是與其它語言不同的,應(yīng)予以注意。

  2. 形參變量是屬于被調(diào)函數(shù)的局部變量,實參變量是屬于主調(diào)函數(shù)的局部變量。

  3. 允許在不同的函數(shù)中使用相同的變量名,它們代表不同的對象,分配不同的單元,互不干擾,也不會發(fā)生混淆。如在例5.3 中,形參和實參的變量名都為n,是完全允許的。

  4. 在復(fù)合語句中也可定義變量,其作用域只在復(fù)合語句范圍內(nèi)。例如:

  main()

  {

  int s,a;

  ……

  {

  int b;

  s=a+b;

  ……b作用域

  }

  ……s,a作用域

  }[例5.11]main()

  {

  int i=2,j=3,k;

  k=i+j;

  {

  int k=8;

  if(i==3) printf("%d\n",k);

  }

  printf("%d\n%d\n",i,k);

  }

  main()

  {

  int i=2,j=3,k;

  k=i+j;

  {

  int k=8;

  if(i=3) printf("%d\n",k);

  }

  printf("%d\n%d\n",i,k);

  }

  本程序在main中定義了i,j,k三個變量,其中k未賦初值。 而在復(fù)合語句內(nèi)又定義了一個變量k,并賦初值為8。應(yīng)該注意這兩個k不是同一個變量。在復(fù)合語句外由main定義的k起作用,而在復(fù)合語句內(nèi)則由在復(fù)合語句內(nèi)定義的k起作用。因此程序第4行的k為main所定義,其值應(yīng)為5。第7行輸出k值,該行在復(fù)合語句內(nèi),由復(fù)合語句內(nèi)定義的k起作用,其初值為8,故輸出值為8,第9行輸出i,k值。i是在整個程序中有效的,第7行對i賦值為3,故以輸出也為3。而第9行已在復(fù)合語句之外,輸出的k應(yīng)為main所定義的k,此k值由第4 行已獲得為5,故輸出也為5。

1 2 3 4 5 下一頁

  相關(guān)推薦:

  2012年軟考系統(tǒng)分析師考試60天完美復(fù)習(xí)計劃

  2012年軟件水平考試網(wǎng)絡(luò)工程師章節(jié)筆記講義匯總

  2012年上半年軟件水平考試成績查詢匯總

文章搜索
軟件水平考試欄目導(dǎo)航
版權(quán)聲明:如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請注明出處。