作用域是程式的一個區域,一般來說有三個地方可以定義變數:

在函式或一個代碼塊內部宣告的變數,稱為區域變數,
在函式引數的定義中宣告的變數,稱為形式引數,
在所有函式外部宣告的變數,稱為全域變數,
我們將在后續的章節中學習什么是函式和引數,本章我們先來講解什么是區域變數和全域變數,
區域變數
在函式或一個代碼塊內部宣告的變數,稱為區域變數,它們只能被函式內部或者代碼塊內部的陳述句使用,下面的實體使用了區域變數:
如果你在學習C/C++的程序中遇到了問題,可以來加入小編的企鵝圈問小編哦~小編很熱情的(●’?’●)
實體
#include <iostream> using namespace std; int main () { // 區域變數宣告 int a, b; int c; // 實際初始化 a = 10; b = 20; c = a + b; cout << c; return 0; }

全域變數
在所有函式外部定義的變數(通常是在程式的頭部),稱為全域變數,全域變數的值在程式的整個生命周期內都是有效的,
全域變數可以被任何函式訪問,也就是說,全域變數一旦宣告,在整個程式中都是可用的,下面的實體使用了全域變數和區域變數:
實體
#include <iostream> using namespace std; // 全域變數宣告 int g; int main () { // 區域變數宣告 int a, b; // 實際初始化 a = 10; b = 20; g = a + b; cout << g; return 0; }
在程式中,區域變數和全域變數的名稱可以相同,但是在函式內,區域變數的值會覆寫全域變數的值,下面是一個實體:

實體
#include <iostream> using namespace std; // 全域變數宣告 int g = 20; int main () { // 區域變數宣告 int g = 10; cout << g; return 0; }
當上面的代碼被編譯和執行時,它會產生下列結果:
10
初始化區域變數和全域變數
當區域變數被定義時,系統不會對其初始化,您必須自行對其初始化,定義全域變數時,系統會自動初始化為下列值:
資料型別初始化默認值
int0
char‘/0’
float0
double0
pointerNULL
正確地初始化變數是一個良好的編程習慣,否則有時候程式可能會產生意想不到的結果,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/235182.html
標籤:C++
上一篇:菜鳥求助
