位於一對花括號之間的所有語句成為乙個**塊。任何在**塊的開始位置宣告的識別符號都具有
**塊作用域,表示它們可以被這個**塊中的所有語句訪問。
當**塊處於巢狀狀態時,生命與內層**塊的識別符號的作用域到達該**塊的尾部便告終止。然
而,如果內層**塊有乙個識別符號的名字與外層**塊的乙個識別符號同名,內層的那個**塊就將隱藏
的識別符號——外層的那個識別符號無法在內層**塊中通過名字訪問。
**:#include
voidmain()
while(++count<
=8);
printf("\n%d\n",count);
}執行結果:
有兩個叫count的變數,但是在迴圈的內部,本地
掩蓋main()中的count。當使用名稱count時,編譯器會假
設使用的是當前塊中宣告的那個變數。在while迴圈內,
只有count的本地版本,所以遞增這個變數,迴圈塊內顯
示的count的值永遠是1,因為在每次迴圈中,都建立、
初始化、遞增和刪除count變數。它只存在於從宣告它的
語句到這個迴圈結束的括號為止。
一旦退出這個迴圈,外部的count就可以訪問了,最
後乙個printf()顯示它在迴圈結束時的值9.
來自為知筆記(wiz)
作用域,變數作用域,作用域鏈知識
第2章 變數作用域 第3章 作用域鏈 預覽 1.全域性作用域 整個script標籤下 或者是單獨的js檔案 外部js 2.區域性作用域也叫 函式作用域 在函式內部就是區域性作用域 這個 的名字 變數 只在函式內部起作用和效果 3.不同作用域下,定義相同變數名是不衝突的。如果是在同一作用域宣告2個相同...
變數的作用域
1 int i for i 0 i 10 i text console.writeline last text output in loop text 失敗,字串變數text是for迴圈的區域性變數,這段 不能編譯,因為在該迴圈外部呼叫的console.writeline 試圖使用該變數text,這...
變數的作用域
首先定義全域性變數和區域性變數 如下 import import scope.h int gglobalvar 300 int main int argc,const char argv return 0 2015 04 01 14 52 12.123 extern 1924 303 300 201...