變數的作用域

2021-05-25 22:03:10 字數 908 閱讀 5475

1、int i;

for (i = 0; i < 10; i++)

", text);

}console.writeline("last text output in loop :.", text);

失敗,字串變數text是for迴圈的區域性變數,這段**不能編譯,因為在該迴圈外部呼叫的console.writeline()試圖使用該變數text,這超出了迴圈的作用域。

2、   int i;

string text;

for (i = 0; i < 10; i++)

", text);

}console.writeline("last text output in loop :.", text);

失敗,變數必須在使用前宣告和初始化,而text是在for迴圈中初始化,賦給text的值在迴圈退出時就丟失了。

3、  int i;

string text=" ";

for (i = 0; i < 10; i++)

", text);

}console.writeline("last text output in loop :.", text);

console.readkey();

這次text是在迴圈外初始化的,可以訪問它的值。

以上的情況是分配給text變數的記憶體空間,實際上任何變數都是這樣。只有宣告乙個簡單的變數型別,並不會引起其他的變化。只有在給變數賦值後,這個值才占用一塊記憶體空間。如果這種佔據記憶體空間的行為在迴圈中發生,該值實際上定義為乙個區域性值,在迴圈的外部會超出其作用域。

即使變數本身沒有區域性化到迴圈上,迴圈所包含的值也區域性化到該迴圈上。但是在迴圈外部賦值可以確保該值是主體**的區域性值,在迴圈內部它仍處於其作用域中。這意味著變數在退出主體**塊之前是沒有超出作用域的,所以可以在迴圈外部訪問它的值。

作用域,變數作用域,作用域鏈知識

第2章 變數作用域 第3章 作用域鏈 預覽 1.全域性作用域 整個script標籤下 或者是單獨的js檔案 外部js 2.區域性作用域也叫 函式作用域 在函式內部就是區域性作用域 這個 的名字 變數 只在函式內部起作用和效果 3.不同作用域下,定義相同變數名是不衝突的。如果是在同一作用域宣告2個相同...

變數的作用域

首先定義全域性變數和區域性變數 如下 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...

變數的作用域

1.變數的作用域指明可訪問該變數的一段 宣告乙個變數的同時也就指明了變數的作用域。2.作用域的基本規則 1 引數宣告的作用域是宣告方法所在的方法體 2 區域性變數在方法或方法中的一塊 中宣告,它的作用域為它所在的 塊 整個方法或方法中的某塊 3 在帶標號的break和continue語句中,標號的作...