首頁  >  文章  >  後端開發  >  static在c語言中是什麼意思

static在c語言中是什麼意思

angryTom
angryTom原創
2020-02-06 13:47:0182955瀏覽

static在c語言中是什麼意思

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn