c語言中static的用法

2022-05-08 19:33:12 字數 491 閱讀 7085

1.static定義變數:

1).區域性:

a.靜態區域性變數在函式內部定義,生存期為整個源**,但作用域與自動變數相同,只能在定義的函式裡面使用。退出該函式後,雖然此變數還存在記憶體中,但不能使用。

b.對基本型別的靜態區域性變數若在說明時未賦以初值,則系統自動賦予為0.而對於自動變數不賦值,其值是不確定的。(其值就是「上次」用過此記憶體殘留的值)

2).全域性:

全域性變數本身就是以靜態儲存的。對於全域性變數和全域性靜態變數的區別:

全域性靜態變數只能在宣告的這個檔案內有效,在其他原始檔中無效。

全域性變數在其他的檔案內也有效。

2.static定義函式:

用static定義的函式和一般函式的區別:

一般函式能被其他的檔案引用,而static函式只能被檔案內部的函式呼叫。

c語言中static 用法

static在c裡面可以用來修飾變數,也可以用來修飾函式。先看用來修飾變數的時候。變數在c裡面可分為存在全域性資料區 棧和堆裡。其實我們平時所說的堆疊是棧而不是堆,不要弄混。int a int main a是全域性變數,b是棧變數,c是堆變數。static對全域性變數的修飾,可以認為是限制了只能是本...

c語言中static 用法

static在c裡面可以用來修飾變數,也可以用來修飾函式。先看用來修飾變數的時候。變數在c裡面可分為存在全域性資料區 棧和堆裡。其實我們平時所說的堆疊是棧而不是堆,不要弄混。int a int main a是全域性變數,b是棧變數,c是堆變數。static對全域性變數的修飾,可以認為是限制了只能是本...

c語言中static 用法

static在c裡面可以用來修飾變數,也可以用來修飾函式。先看用來修飾變數的時候。變數在c裡面可分為存在全域性資料區 棧和堆裡。其實我們平時所說的堆疊是棧而不是堆,不要弄混。int a int main a是全域性變數,b是棧變數,c是堆變數。static對全域性變數的修飾,可以認為是限制了只能是本...