C語言中的static關鍵字和Java的static關鍵字意義不一樣。
1 用static修飾函數
- static
用static修飾C語言的函數,表示此函數為內部函數,只在當前源文件能被訪問到。 - extern
而使用extern修飾的函數(可以省略),則是外部函數,可以被其他源文件訪問
2 用static修飾全局變量
被static修飾的全局變量,同樣只能在當前源文件中被訪問。
3 用static修飾局部變量
如果在一個函數內部的局部變量使用static關鍵字修飾
- 則表示這個變量會被存儲在靜態存儲區
- 生命周期是從程序開始到結束
- 初始化只執行一次(可以不顯示初始化,默認初始為廣義的0[對象為0指針])
- 函數被重復調用時,訪問到的是之前保留的值