static在c語言中是什麼意思
#c語言中,static用來說明靜態變數。
1、如果是在函數外面定義的,那麼其效果和全域變數類似,也就是static說明的變數可以在目前c程式檔案中使用。
2、如果是在函數內部定義的,那麼這個變數只初始化一次,即使再次呼叫這個函數,這個static變數也不會再初始化,於是,這個變數的值就會一直保存著,我們再次呼叫該函數時,仍是保存的上一次函數呼叫時所保存的結果。
推薦學習:c語言影片教學
在C語言中,static關鍵字的功能如下:
1 、在修飾變數的時,static修飾的靜態局部變數只執行一次,而且延長了局部變數的生命週期,直到程式運行結束以後才釋放。
2、static修飾全域變數的時,這個全域變數只能在本文件中訪問,不能在其它檔案中訪問,即使是extern外部宣告也不可以。
3、static修飾一個函數,則這個函數的只能在本檔案中調用,不能被其他檔案呼叫。 Static修飾的局部變數存放在全域資料區的靜態變數區。
舉例說明:
static int a; int b; void func(void) { static int c; int d; }
上面程式中,a與b都是全域變量,二者的差別是,b可以被別的檔案使用,a只能在本文件中使用,這是static對全域變數的作用。
c和d的差別是,d是自動變量,func函數執行完後,d會自動被釋放。但c卻不會被釋放,下次呼叫func函數時,c的值會保留上次的值繼續使用。
以上是static在c語言中是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!