區域性變數和全域性變數

2021-06-17 23:49:13 字數 898 閱讀 8542

一、區域性變數

區域性變數也稱為內部變數,氣作用於僅限於函式內,離開該函式後在使用這中變數就是錯誤的。

對於區域性變數的作用域有一下幾點說明:

①、主函式中定義的變數也只能在主函式中使用,不能再其他函式中使用。同時,主函式中也不能使用其他函式中定義的變數。

②、形參變數時屬於北調函式的區域性變數,實參變數是屬於主調函式的區域性變數;

③、允許在不同的函式中使用相同的變數名,他們代表不同的變數,分配不同的物件,分配不同的單元,互不干擾,也不會發生混淆。

④、在符合語句中也可定義變數,其作用域只在復合語句範圍內。

如:

執行結果:

在本程式中,main中定義了i,j,k三個變數,但對於k並沒有賦初值。在復合語句中給k服了個初值為8,因此在本程式的第七行,輸出的k值是復合語句中付給k的值,而對於第九行的k值輸出的是main函式中的k值,為i+j的值5,故而輸出的k值不相同。

二、全域性變數

全域性變數也稱為外部變數,它不屬於那乙個函式,它屬於乙個源程式檔案。其作用域是整個源程式。在函式中使用全域性變數,一般應作全域性變數說明。全域性變數的說明符為extern。

如:輸入正方形的長寬高l,w,h,求體積及三個面x*y,x*z,y*z的面積。

執行結果:

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

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

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

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

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

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