static不僅能定義變數還能定義函式,定義變數又分為定義區域性變數還是外部變數
用static定義區域性變數:定義區域性變數就是在乙個函式體內定義,一般定義的變數,是在用的時候在動態儲存區開闢空間,所在函式結束時釋放空間。而用static宣告的區域性變數,則在編譯時就開闢記憶體空間,整個程式結束時釋放,作用域還是在這個函式內。 當這個函式再次執行時,static定義的變數還是上次函式結束時儲存的值。
用static定義外部變數: 一般的外部變數在程式編譯時就分配記憶體空間,程式結束時釋放記憶體空間,在多個檔案中可以呼叫這個外部變數。如只想在本檔案中呼叫這個變數,就用static定義,其它檔案則無法使用。
用static定義函式:一般的函式可以被其它檔案中的函式呼叫,若只想在本檔案中有效,就可把此函式定義為static型別,就是靜態函式。
c語言中static作用
本文根據多篇網路部落格整合而成一.c程式一直由下列部分組成 1 正文段 cpu執行的機器指令部分 乙個程式只有乙個副本 唯讀,防止程式由於意外事故而修改自身指令 2 初始化資料段 資料段 在程式中所有賦了初值的全域性變數,存放在這裡。3 非初始化資料段 bss段 在程式中沒有初始化的全域性變數 核心...
C語言中static 作用
在c語言中static的作用如下 版本一 include char a a 普通全域性函式 void fun 普通全域性函式 include extern void fun 宣告外部函式為全域性函式 int main void 編譯 gcc c gcc a.c b.c 輸出 a hello worl...
c語言中static作用
1 在函式體,乙個被宣告為靜態的變數在這一函式被呼叫過程中維持其值不變。include stdio.h int main return0 int fac int n 我們通過這個例子可以看到static 作為靜態儲存在每次函式呼叫完畢並不釋放。2 在模組內 但在函式體外 乙個被宣告為靜態的變數可以被...