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