Static變數的作用

2021-07-15 22:54:09 字數 387 閱讀 9804

1. 全域性變數宣告為static全域性變數

全域性變數是靜態儲存方式,static全域性變數也靜態儲存方式,儲存方式一樣。

但是非靜態全域性變數的作用域是整個源程式,包括源程式中的各個單檔案;而static全域性變數的作用域是單檔案,源程式中的其他檔案不能使用它,也就是作用域不同。

2. 區域性變數和static區域性變數

3. static函式與普通函式

static函式與普通函式的作用域不同,static函式只作用於當前檔案。普通函式的定義和宣告預設情況下是extern的,但static函式只是在宣告它的檔案當中可見,不能被其他檔案所用。因此定義靜態函式有以下好處:

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

(2)static函式不能被其他檔案所用。

static變數的作用

static變數的作用 1,改變變數的生命期 對於static 全域性變數而言,生命期沒有改變,在整個程式執行過程中該變數一直存在。但其作用域反而減小,只有本檔案的函式可以引用該全域性變數。對於static 區域性變數,其作用於沒有改變,只有定義該區域性變數的函式可以引用該變數。但其生命期發生了改變...

C語言 static變數及其作用

在 c 語言中,static 關鍵字不僅可以用來修飾變數,還可以用來修飾函式。在使用 static 關鍵字修飾變數時,我們稱此變數為靜態變數。靜態變數的儲存方式與全域性變數一樣,都是靜態儲存方式。但這裡需要特別說明的是,靜態變數屬於靜態儲存方式,屬於靜態儲存方式的變數卻不一定就是靜態變數。例如,全域...

static作用 靜態變數的生存週期和作用域

首先要理解生存週期與作用域的區別 生存週期 變數從定義到銷毀的時間範圍。存放在全域性資料區的變數的生存週期存在於整個程式執行期間,而存放在棧中的資料則隨著函式等的作用域結束導致出棧而銷毀,除了靜態變數之外的區域性變數都存放於棧中。作用域 變數的可見 域 塊作用域,函式作用域,類作用域,程式全域性作用...