c 中static的用法詳解

2021-10-07 08:33:35 字數 432 閱讀 9426

c語言的static關鍵字有三種用途,可從兩個方面來分析:1:作用域,2:生存期

1.靜態區域性變數:用於函式體內部修飾變數,這種變數的生存期一直到程式關閉。

作用域:函式體內部, 生存期:整個程式執行期間

int foo()

要明白這個用法,我們首先要了解c/c++的記憶體分布,以及static所在的區間。

對於乙個完整的程式,在記憶體中的分布情況如下圖:  

1.棧區: 由編譯器自動分配釋放,像區域性變數,函式引數,都是在棧區。會隨著作用於退出而釋放空間。

3.堆區:程式設計師分配並釋放的區域,像malloc(c),new(c&

c 中static的用法詳解

1.靜態區域性變數 用於函式體內部修飾變數,這種變數的生存期長於該函式。int foo 要明白這個用法,我們首先要了解c c 的記憶體分布,以及static所在的區間。對於乙個完整的程式,在記憶體中的分布情況如下 棧區 由編譯器自動分配釋放,像區域性變數,函式引數,都是在棧區。會隨著作用於退出而釋放...

C 之 static的用法詳解

有的東西你天天在用,但未必就代表你真正了解它,正如我之前所了解的 static 一 靜態類 靜態類與非靜態類的重要區別在於靜態類不能例項化,也就是說,不能使用 new 關鍵字建立靜態類型別的變數。在宣告乙個類時使用static關鍵字,具有兩個方面的意義 首先,它防止程式設計師寫 來例項化該靜態類 其...

C 之 static的用法詳解

有的東西你天天在用,但未必就代表你真正了解它,正如我之前所了解的 static 一 靜態類 靜態類與非靜態類的重要區別在於靜態類不能例項化,也就是說,不能使用 new 關鍵字建立靜態類型別的變數。在宣告乙個類時使用static關鍵字,具有兩個方面的意義 首先,它防止程式設計師寫 來例項化該靜態類 其...