4 回答

TA貢獻(xiàn)1878條經(jīng)驗(yàn) 獲得超4個(gè)贊
作用域的定義是這樣的:如果一個(gè)變量在某個(gè)文件或函數(shù)范圍內(nèi)是有效的,則稱該文件或函數(shù)為該變量的作用域,在此作用域內(nèi)可以引用該變量,所以又稱變量在此作用域內(nèi)“可見”,這種性質(zhì)又稱為變量的可見性。例如
文件file.c
int a;
main函數(shù)
{…
f2();
…
f1();
}
f1函數(shù)
{auto int b;
…
f2()
…
}
f2函數(shù)
{static int c;
…
}
這里a的作用域就是整個(gè)文件,b的作用域是f1函數(shù),c的作用域是f2函數(shù)!其實(shí)作用域就是作用范圍沒什么很復(fù)雜的概念!

TA貢獻(xiàn)2039條經(jīng)驗(yàn) 獲得超8個(gè)贊
一般就是變量定義的時(shí)候,前面最接近的那個(gè){對應(yīng)的}之間
main()
{
int a;
{
int b;
}//b的作用域到這里結(jié)束
}//a的作用域到這里結(jié)束

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超9個(gè)贊
前面定義的,是全局變量,,也就是,后面的函數(shù)中都要效果,
而在main函數(shù)了定義的,只有main函數(shù)中有效,,之外無效,
如
int a=1;
void main(){
int b=0; //ab 都有效。
}
int fun(){
// a有效,而b無效
}

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超8個(gè)贊
在任何函數(shù)之外定義的變量叫做全局變量,所有的函數(shù)均可以訪問,并且只能夠初始化一次,是存放在內(nèi)存中叫做數(shù)據(jù)段的地方
在函數(shù)中定義的變量,叫做局部變量,存放在內(nèi)存的棧中,在這個(gè)變量出現(xiàn)時(shí)分配存儲空間,伴隨著它所在的大括號的結(jié)束而取消存儲空間的
- 4 回答
- 0 關(guān)注
- 777 瀏覽
添加回答
舉報(bào)