W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
變量作用域就是指變量在程序中能夠操作的區(qū)域,通常按照在程序中不同地方聲明可以分為如下三類:
關(guān)于函數(shù)及函數(shù)參數(shù)的內(nèi)容我們會在后續(xù)章節(jié)中學(xué)習(xí)。這里我們首先學(xué)習(xí)關(guān)于局部變量和全部變量的相關(guān)內(nèi)容。
在函數(shù)或代碼塊內(nèi)部聲明的變量稱為局部變量。他們在函數(shù)體內(nèi)聲明后僅能被其聲明的所在函數(shù)體內(nèi)部的后續(xù)語句操作。局部變量不能被函數(shù)外部訪問到。下面就是使用局部變量的例子。
#include <iostream>
using namespace std;
int main ()
{
// Local variable declaration:
int a, b;
int c;
// actual initialization
a = 10;
b = 20;
c = a + b;
cout << c;
return 0;
}
全局變量通常會被聲明定義在所有函數(shù)體的外面,大部分情況下是在程序的最上方定義。全部變量的生命周期就是進(jìn)程從開始到程序執(zhí)行結(jié)束的整個過程。
全局變量可以被任何函數(shù)訪問。也就是說,全局變量一旦被聲明,將在程序的整個生命周期內(nèi)都是有效的。下面是使用全局和局部變量的例子:
#include <iostream>
using namespace std;
// Global variable declaration:
int g;
int main ()
{
// Local variable declaration:
int a, b;
// actual initialization
a = 10;
b = 20;
g = a + b;
cout << g;
return 0;
}
程序中的局部變量和全局變量可以有相同的變量名稱。但是在局部變量所在函數(shù)體內(nèi)如,使用變量名僅能訪問到局部變量。比如:
#include <iostream>
using namespace std;
// Global variable declaration:
int g = 20;
int main ()
{
// Local variable declaration:
int g = 10;
cout << g;
return 0;
}
上述例子中的程序被編譯并執(zhí)行后,將顯示如下結(jié)果:
10
局部變量被定義后,默認(rèn)情況下,系統(tǒng)并不會對該變量進(jìn)行初始化,所以需要程序員進(jìn)行初始化操作。與之不同的是,全局變量定義后會被編譯系統(tǒng)自動初始化,具體初始化的值如下:
數(shù)據(jù)類型 | 默認(rèn)初始化的值 |
---|---|
int | 0 |
char | '\0' |
float | 0 |
double | 0 |
pointer | NULL |
適如其分的給變量初始化是一個很好的編程習(xí)慣,否則,有時程序會出現(xiàn)很多意想不到的錯誤。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: