1.全局變量和局部變量
定義在代碼塊外部的是全局變量
定義在代碼塊內(nèi)部的是局部變量
什么是代碼塊?
1
2
3
4
5
|
//這是代碼快外部 int main() { //這是代碼塊內(nèi)部 } |
實(shí)際上用int main來演示是不太對的,實(shí)際使用的時(shí)候我們定義變量是在int main內(nèi)部定義的
下面這個(gè)例子更加清晰明了
1
2
3
4
5
6
7
8
9
|
int main() { int i = 0; //這是代碼塊外部-i全局變量 for (i=0;i<10;i++) { //代碼塊開始 int j=0; //這是代碼塊內(nèi)部-j局部變量 for (j=0;j<10;j++) } //代碼塊結(jié)束 } |
需要注意的是:
同一個(gè)變量a可以在全局,局部變量中間同時(shí)使用,局部變量優(yōu)先
這里是指同時(shí)存在,同時(shí)使用,但不能同時(shí)定義
在局部的代碼塊中重新定義一個(gè)全局變量是錯(cuò)誤的
下面這種形式就是 同時(shí)使用一個(gè)變量
1
2
3
4
5
6
7
8
9
|
int main() { int sz = 8; int i = 0; if (i<sz) { i=1; } } |
- 在我們定義變量的時(shí)候,變量的名字不能相同
- 同時(shí)變量的名字也不應(yīng)和庫函數(shù)名相同
簡單的說就是變量不要重復(fù),也別和庫函數(shù)沖突
2.變量的作用域
變量的作用域->變量的生效區(qū)域
- 局部變量只在它自己的代碼塊中生效
- 全局變量的作用域是整個(gè)代碼
注:在VS中全局變量的作用域是整個(gè)工程
作用域的規(guī)定了變量生效區(qū)域
如果你在局部變量的代碼塊外部使用這個(gè)局部變量
這樣是無效的,無法使用
2-1.聲明外部變量的方法
在vs中全局變量的作用域是整個(gè)工程
但是如果源文件不同,我們需要打一串聲明來應(yīng)用工程文件中另外一個(gè)源文件的全局變量
1
|
extern int a |
以下是聲名變量和定義變量的代碼示例
1
2
3
4
|
extern int a; //聲明全局變量a int a; //定義全局變量a extern int a = 0 ; //定義全局變量a 并給初始值 int a = 0 ; //定義全局變量a,并給初始值 |
3.變量的生命周期
生命周期這個(gè)概念和作用域十分相似
- 局部變量的生命周期從進(jìn)入"{“開始,離開”}"結(jié)束
- 全局變量的生命周期是整個(gè)程序(VS項(xiàng)目)
4. 局部變量&自動(dòng)變量
局部變量又稱自動(dòng)變量
1
|
auto int a = 0 ; |
實(shí)際使用的時(shí)候我們一般都是省略auto的
總結(jié)
本片文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注服務(wù)器之家的更多內(nèi)容!
原文鏈接:https://blog.csdn.net/muxuen/article/details/119994969