變數的作用域

2022-03-15 05:27:44 字數 786 閱讀 9183

位於一對花括號之間的所有語句成為乙個**塊。任何在**塊的開始位置宣告的識別符號都具有

**塊作用域,表示它們可以被這個**塊中的所有語句訪問。

當**塊處於巢狀狀態時,生命與內層**塊的識別符號的作用域到達該**塊的尾部便告終止。然

而,如果內層**塊有乙個識別符號的名字與外層**塊的乙個識別符號同名,內層的那個**塊就將隱藏

的識別符號——外層的那個識別符號無法在內層**塊中通過名字訪問。

**:#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...