1. 程式人生 > >學習筆記--static變數與普通變數的區別

學習筆記--static變數與普通變數的區別

靜態全域性變數與普通全域性變數:兩者的儲存方式相同,都儲存在靜態區,靜態全域性變數的作用域是定義該變數的原始檔,普通全域性變數的作用域則是多個原始檔的源程式,靜態全域性變數只初始化一次。、

靜態區域性變數與普通區域性變數:兩者的作用域相同,儲存方式不同,靜態區域性變數儲存在靜態區,普通區域性變數儲存在棧區。生存期也不同,靜態區域性變數的生存期為整個程式,普通區域性變數的生存期僅為定義的那段空間。靜態區域性變數只初始化一次。

靜態函式與普通函式:作用域不同,靜態函式的作用域僅在被定義的原始檔,普通函式在標頭檔案的輔助下可以被外部訪問。靜態函式在記憶體中只有一份,而普通函式在記憶體中可以有一份或者多份拷貝。