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

2021-10-03 15:40:37 字數 444 閱讀 5044

區域性變數和形參都預設auto儲存型別,auto型別的變數也稱為自動變數,採用動態儲存方式,由系統的堆疊實現,定義時忽略;

全域性變數和static型別區域性變數是靜態儲存方式,分配在靜態儲存區;

全域性變數在定義時如果沒有被初始化,系統自動賦值0;

靜態區域性變數在函式第一次呼叫時分配儲存空間(會自動賦值0),函式呼叫結束也不會釋放,其值一直保持到下一次函式呼叫時繼續參與運算。

靜態區域性變數static從1-2-3-4-5,區域性變數auto一直是1;

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

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

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

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

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

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