c語言static關鍵字的兩個作用是作用域和儲存域。
作用域:
用static宣告的全域性變數或函式只能在本檔案中使用,不能被其他檔案的函式呼叫,不同的檔案可以使用相同名字的變數或靜態函式,互不影響,這樣極有利於程式的模組化和封裝。
儲存域:
定義區域性變數時如果加上了static關鍵字就存放在靜態區,這一段記憶體是在main函式執行之前初始化的,所以它只被初始化一次。由於它是在程式執行開始到程式結束一直存在,也就是說它不像棧記憶體一樣會自動釋放,而是一直占用著記憶體。例如:
#
include
intadd
(void
)int
main()
return0;
}
執行結果為:
add_val =
1add_val =
2add_val =
3
C 關鍵字static作用
關鍵字static作用?static可以用作函式和變數的字首 在模組內的static變數可以被模組內所有函式訪問,但不能被模組外其他函式訪問。在模組內的static函式只可被這一模組內的其他函式呼叫,這個函式的使用範圍被限制在宣告它的模組內。2.1函式體內static變數的作用範圍為該函式體,不同於...
C語言中static關鍵字的作用
在c語言中static的作用如下 第 一 在修飾變數的時候,static修飾的靜態區域性變數只執行一次,而且延長了區域性變數的生命週期,直到程式執行結束以後才釋放。第二 static修飾全域性變數的時候,這個全域性變數只能在本檔案中訪問,不能在其它檔案中訪問,即便是extern外部宣告也不可以。第三...
C語言中static關鍵字的作用
在c語言中static的作用如下 第一 在修飾變數的時候,static修飾的靜態區域性變數只執行一次,而且延長了區域性變數的生命週期,直到程式執行結束以後才釋放。第二 static修飾全域性變數的時候,這個全域性變數只能在本檔案中訪問,不能在其它檔案中訪問,即便是extern外部宣告也不可以。第三 ...