c 全域性變數 區域性變數 語句塊變數

2021-09-17 22:24:00 字數 474 閱讀 8277

全域性變數的作用域是**整個程式**。

區域性變數的作用域就是定義它的那個函式,如果此**函式結束執行**,那麼這個區域性變數就會被**銷毀**。

語句塊變數就是乙個{}裡面的變數。ps:語句塊主要是乙個作用域的概念,它起始於識別符號的宣告處,結束於識別符號宣告所在語句塊的結束右大括號"}"處。

全域性變數在大型的程式裡還是盡量少用,因為全域性變數會導致程式的可讀性降低,畢竟當名字相同你不知道它是全域性變數的x還是區域性變數的x。當然如果你程式很少用全域性變數其實是很方便的。

#include using namespace std;

int x=1;

int main()

//語句塊的x被銷毀了

cout<<"fourth one:"

return 0;

}

全域性變數 靜態全域性變數 靜態區域性變數 區域性變數

全域性和靜態變數都在堆裡。這句話應該錯了,應該是放在常量資料段 全域性變數的作用範圍是整個程式 如果程式是多個檔案,必須在其他的檔案中說明 靜態變數的作用範圍要看靜態變數的位置,如果在函式裡,則作用範圍 就是這個函式。靜態全域性變數,只在本檔案可以用,雖然整個程式包含多個檔案,但靜態全域性變數只能用...

全域性變數 靜態全域性變數 靜態區域性變數 區域性變數

全域性和靜態變數都在堆裡。全域性變數的作用範圍是整個程式 如果程式是多個檔案,必須在其他的檔案中說明 靜態變數的作用範圍要看靜態變數的位置,如果在函式裡,則作用範圍 就是這個函式。靜態全域性變數,只在本檔案可以用,雖然整個程式包含多個檔案,但靜態全域性變數只能用在定義它的那個檔案裡,卻不能用在程式中...

全域性變數 靜態全域性變數區域性變數 靜態區域性變數

對於乙個完整的程式,在記憶體中的分布情況如下圖 區 low address 全域性資料區 堆區 棧區 high address 一般程式把新產生的動態資料存放在堆區,函式內部的自動變數存放在棧區。自動變數一般會隨著函式的退出而釋放空間,靜態資料 即使是函式內部的靜態區域性變數 也存放在全域性資料區。...