名稱空間
變體
操作

靜態儲存期

來自 cppreference.com
< c‎ | language

其識別符號在宣告時未帶儲存類說明符 _Thread_local,且具有外部或內部連結,或帶有儲存類說明符 static 的物件,擁有靜態儲存期。它的生命週期是程式的整個執行過程,其儲存值在程式啟動前僅被初始化一次。

[編輯] 注意

由於其儲存值僅被初始化一次,具有靜態儲存期的物件可以用於分析函式的呼叫次數。

關鍵字 static 的另一個用途是檔案作用域

[編輯] 示例

#include <stdio.h>
 
void f (void)
{
    static int count = 0;   // static variable   
    int i = 0;              // automatic variable
    printf("%d %d\n", i++, count++);
}
 
int main(void)
{
    for (int ndx=0; ndx<10; ++ndx)
        f();
}

輸出

0 0
0 1
0 2
0 3
0 4
0 5
0 6
0 7
0 8
0 9