static在C語言/C++用于修飾變量 或 修飾函數
一、static修飾變量
被static修飾的 局部變量 或 全局變量 稱為 靜态局部變量 或 靜态全局變量
屬于靜态存儲類别,在靜态存儲區内配置設定記憶體單元,在整個程式運作期間都不釋放。
靜态局部變量時在編譯時被指派的,即自始至終隻指派一次,在程式運作時它已經有初值。以後每次調用函數時不再重新賦初值而隻是保留上次函數調用結束時的值。
靜态全局變量的作用:
1.使得其作用域僅限于變量被定義的檔案中(即從變量定義處到本檔案結尾處),其它檔案不論通過什麼方式都不能通路,團隊開發貢獻代碼時非常有用,可以避免和他人的變量重名。
靜态局部變量的作用:
1.在某個函數體裡面定義的靜态局部變量,隻能在本函數體被通路,即使同一個檔案的其它函數也通路不了。
2.靜态局部變量總存儲在靜态資料區,是以即使這個函數運作結束,這個靜态局部變量的值不會被銷毀,函數下次使用時仍然要用到這個值。
二、static修飾函數
在函數前加static,則此函數成為靜态函數(内部函數)
靜态函數的作用:和靜态全局變量作用一緻,禁止其它檔案通路,同樣團隊開發時常用。