一、靜态變量總的特點
①靜态的意思是:該變量在記憶體中的位置不變 ②加上static之後,static變量在第一次初始化之後就一直存在于第一次初始化的記憶體中,就算函數或者代碼塊結束時,static變量依然存在于記憶體中。隻有當程式執行完之後才會釋放記憶體空間 ③重點:靜态全局/局部變量存在于全局資料區 ④靜态局部變量定義時建議要進行初始化。如果未初始化,編譯器自動将它初始化為0⑤靜态變量隻初始化一次,下次執行到相同的static語句時,直接跳過![]()
C:13---static關鍵字 ![]()
C:13---static關鍵字 ![]()
C:13---static關鍵字
二、靜态局部變量
作用域 和普通的局部變量一樣,隻在函數内有效,函數外部無法通路 生命周期 從第一次調用函數初始化時,直到程式結束才銷毀,不會随着函數調用結束而銷毀
三、靜态全局變量
在整個檔案中有效,且隻在本檔案中有用 程式開始執行到程式執行結束 特點 靜态全局變量僅對目前檔案可見,其他檔案不可通路。其他檔案可以定義與其同名的變量,兩者互不影響
四、靜态函數
靜态函數的特點與靜态全局變量一樣,隻可以在目前的檔案中調用,其它的檔案不可以調用![]()
C:13---static關鍵字
五、注意事項
不能在函數的參數中使用static變量