全域性變數和區域性變數

2021-10-23 05:20:41 字數 527 閱讀 2802

全域性變數是在所有函式體外(包括主函式)進行定義的。程式的所有部分(包括其他檔案中的**)都可以使用。全域性變數的生命期是從定義開始到整個程式的結束。

對於當前檔案可以直接使用全域性變數。

對於其他檔案需要使用關鍵字extern進行宣告。這是因為不同的原始檔是分段編譯的,必須通過extern int global;宣告,告訴編譯器變數在**。

//: global.cpp

#include using namespace std;

int global;

void f();

int main()

//: global.cpp

extern int global;

void f()

區域性變數出現在某個作用域內({}),它限定在某個函式內。在進入函式體內被建立,離開函式體後被銷毀。

因此區域性變數也被成為自動變數,可以使用關鍵字auto進行顯式宣告,但變數預設為區域性變數。

[1]. c++程式設計思想

全域性變數和區域性變數

全域性變數 可以被不同的函式 類或檔案呼叫的變數,在函式外定義。區域性變數 只能在函式內使用,定義在函式內。區域性變數的使用 class myclass def myfun num 12 print myfun num num 正確 def myfun2 num num 1 print mufun ...

全域性變數和區域性變數

區域性變數 在方法中開闢的變數,只在方法中有效 區域性變數在定義時不會初始化,要顯式的給它乙個值 如未給它乙個初始值,雖然編譯的時候會通過,但是執行的時候會產生為初始化錯誤!方法呼叫 執行完,區域性變數便會自動釋放。在方法內的語句塊中建立的變數在編譯時假如未初始,如若使用,也會報未初始化錯誤!呼叫的...

全域性變數和區域性變數

通常的認為是定義在函式外面的就稱之為全域性變數 函式體內的稱之為區域性變數 在函式中與全域性變數同名的時候 情形1 函式內部的變數名如果第一次出現,且出現在 前面,即被視為定義乙個區域性變數。num 100 定義乙個全域性變數 defdemo num 100 這裡面的實際上是定義了乙個區域性的變數 ...