static修飾全域性區域性變數函式

2021-10-18 04:54:50 字數 665 閱讀 6904

1.static修飾全域性變數

特點如下:

1)儲存區:靜態儲存區靜態儲存區在整個程式執行期間都存在;

2)作用域:全域性靜態變數在宣告他的檔案之外是不可見的。準確地講從定義之處開始到檔案結尾。非靜態全域性 變數的作用域是整個源程式(多個原始檔可以共同使用);

好處:1)不會被其他檔案所訪問,修改;

2)其他檔案中可以使用相同名字的變數,不會發生衝突。

2.static修飾區域性變數

在區域性變數之前加上關鍵字static,區域性變數就被定義成為乙個區域性靜態變數。

特點如下:

1)儲存區:有棧變為靜態儲存區rw data,生存期為整個源程式,只能在定義該變數的函式內使用。退出該函式後, 儘管該變數還繼續存在,

但不能使用它;

2)作用域:作用域仍為區域性作用域,當定義它的函式或者語句塊結束的時候,作用域隨之結束。

static修飾函式

在函式的返回型別前加上關鍵字static,函式就被定義成為靜態函式。

函式的定義和宣告預設情況下是extern的,但靜態函式只是在宣告他的檔案當中可見,不能被其他檔案所用。只能被本檔案中的函式呼叫,而不能被同一程式其它檔案中的函式呼叫

好處:1)其他檔案中可以定義相同名字的函式,不會發生衝突

2) 靜態函式不能被其他檔案所用。

作用域和生存時間

static作用(修飾函式 區域性變數 全域性變數)

在c語言中,static的字面意思很容易把我們匯入歧途,其實它的作用有三條。1 先來介紹它的第一條也是最重要的一條 隱藏。當我們同時編譯多個檔案時,所有未加static字首的全域性變數和函式都具有全域性可見性。為理解這句話,我舉例來說明。我們要同時編譯兩個原始檔,乙個是a.c,另乙個是main.c。...

static作用(修飾函式 區域性變數 全域性變數)

在c語言中,static的字面意思很容易把我們匯入歧途,其實它的作用有三條。1 先來介紹它的第一條也是最重要的一條 隱藏。當我們同時編譯多個檔案時,所有未加static字首的全域性變數和函式都具有全域性可見性。為理解這句話,我舉例來說明。我們要同時編譯兩個原始檔,乙個是a.c,另乙個是main.c。...

static作用(修飾函式 區域性變數 全域性變數)

在c語言中,static的字面意思很容易把我們匯入歧途,其實它的作用有三條。1 先來介紹它的第一條也是最重要的一條 隱藏。當我們同時編譯多個檔案時,所有未加static字首的全域性變數和函式都具有全域性可見性。為理解這句話,我舉例來說明。我們要同時編譯兩個原始檔,乙個是a.c,另乙個是main.c。...