首頁 >後端開發 >C#.Net教程 >c語言中的static的用法

c語言中的static的用法

下次还敢
下次还敢原創
2024-05-09 10:48:21596瀏覽

在 C 語言中,static 關鍵字用於修飾變數、函數或類別成員,使其具有靜態作用域,具有以下特性:內部連結:只能在聲明它的檔案中存取或呼叫。保留值:變數和局部函數變數在程式結束之前保留其值。類別作用域:類別成員屬於整個類別,所有實例共享同一份資料。常數:static const 類別成員可以宣告為編譯時常數。

c語言中的static的用法

C語言中的static用法

什麼是 static

static是關鍵字,用於修飾變數、函數或類別成員,表示其具有靜態作用域。

變數的static作用域

對於變量,static表示:

  • 內部連結:static變數只能在宣告它的檔案內存取。
  • 保留值:static變數在程式結束前一直保留其值,即使它所在的函數已經退出。
  • 預設初始化:全域static變數被初始化為0,局部static變數被初始化為垃圾值。

函數的static作用域

#對於函數,static表示:

  • 內部連結:static函數只能在宣告它的檔案內呼叫。
  • 局部作用域:static函數的局部變數具有與static變數相同的內部作用域和值保留特性。

類別成員的static作用域

對類別成員,static表示:

  • 類別作用域:static類別成員屬於整個類,而不是任何特定物件。
  • 共享資料:所有類別實例共享同一份static類別成員。
  • 常數: static const類別成員可以宣告為編譯時常數。

何時使用static

使用static的常見場景包括:

  • #限制變數或函數的可見性
  • 保留函數局部變數的狀態
  • 在類別中使用共享資料
  • 聲明編譯時常數

#範例

<code class="c">// 外部变量,全局可见
int external_var = 10;

// 静态变量,仅在本文件中可见且保留其值
static int static_var = 20;

// 静态函数,仅在本文件中可见且局部变量保留其值
static void static_func() {
    static int local_var = 30;
    local_var++;
}

// 静态类成员,所有对象共享
class MyClass {
public:
    static int shared_var = 40;
};</code>

以上是c語言中的static的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn