C++變數作用域
作用域是程式的一個區域,廣義上講,變數可以在三個地方宣告:
在函式或程式碼塊內,稱為區域性變數;
在函式引數定義中,稱為形式引數;
在所有函式之外,稱為全域性變數;
我們將在後續章節學習什麼是函式及其引數。這裡讓我們解釋什麼是區域性變數和全域性變數。
區域性變數
在函式或程式碼塊內宣告的變數是區域性變數。只有函式或程式碼塊內的語句才能使用它們。區域性變數對於函式外部是未知的。以下是使用區域性變數的示例:
示例
#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;
}全域性變數
全域性變數在所有函式之外定義,通常位於程式的頂部。全域性變數將在程式的整個生命週期中保持其值。
任何函式都可以訪問全域性變數。也就是說,全域性變數在其聲明後即可在整個程式中使用。以下是使用全域性變數和區域性變數的示例:
示例
#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;
}程式可以為區域性變數和全域性變數使用相同的名稱,但是函式內部區域性變數的值將優先。例如:
示例
#include <iostream>
using namespace std;
// Global variable declaration:
int g = 20;
int main () {
// Local variable declaration:
int g = 10;
cout << g;
return 0;
}輸出
10
初始化區域性變數和全域性變數
定義區域性變數時,系統不會對其進行初始化,必須自行初始化。全域性變數在定義時由系統自動初始化如下:
| 資料型別 | 初始化值 |
|---|---|
| int | 0 |
| char | '\0’ |
| float | 0 |
| double | 0 |
| 指標 | NULL |
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP