c (名字的作用域)

2021-10-07 12:53:03 字數 824 閱讀 7050

不論是在程式的什麼位置,使用到的每個名字都會指向乙個特定的實體:變數,函式,型別等。然而,同乙個名字如果出現在程式的不同名字,也可能指向的是不同的位置,也可能指向的是不同實體。

作用域(scope)是程式的一部分,在其中有其特定的含義,c++中大多數作用域都以花括號分隔。

同乙個名字在不同的作用域中可能指向不同的實體。名字的有效區域始於名字的宣告語句,以宣告語句所在的作用域末端為結束。

#include#include#includeint main(void){

int a=4;

for(int i=0;i上面的**段中我取了三個名字,分別是:main,a,i。它們的作用於各不相同,main定義在花括號之外

他和其他定義在函式體之外的名字一樣擁有全域性作用域,一旦申明之後,全域性作用域的名字在整個程式的範圍內都可使用;

a定義在函式main的作用域之內,從我們宣告main函式到main函式結束我們都可以使用它;

i定義在for迴圈之內,我們可以在for迴圈內使用它,但是在main函式的其他部分就不能使用了.

作用域的巢狀:

作用域能彼此包含,被包含(或則說被巢狀)的作用域稱為內層作用域,包含別的作用域的作用域稱為外層作用域。

#includeint value=30;

int main(void){

int a=3;

std::cout《上面**段中我定義了乙個全域性變數value,然後再main函式中定義了乙個和他同名的區域性變數。這個區域性變數會覆蓋全域性變數

,如果我們想在main函式中訪問它,我們需要在他的左側加上作用域操作符"::";

C 名字的作用域

不論是在程式的什麼位置,使用的名字都會指向乙個特定的實體 變數 函式 型別等。然而,同乙個名字如果出現在程式的不同位置,也可指向的是不同實體。作用域 scope 是程式的一部分,在其中名字有特定的含義。c 語言中大多數作用域都是以花括號分隔。同乙個名字在不同的作用域可能指向不同的實體。名字的有效區域...

名字的作用域

c 程式中,每個名字都與唯一的實體 比如變數 函式和型別等 相關聯.儘管有這樣的要求,還是可以在程式中多次使用同乙個名字,只要它用在不同的上下文中,且通過這些上下文可以區分改名字的不同意義.用來區分名字的不同意義的上下文稱為作用域 scope 作用域是程式的一段區域.乙個名稱可以和不同作用域中的不同...

名字的作用域

include include std string s1 xiao cui s1的作用域為整個檔案為全域性作用域,int a 3 void test int main 裡邊的範圍為區域性作用於,std string s2 ai ni xiao cui s2的作用域為 裡邊的範圍為區域性作用域,不能...