靜態儲存期
來自 cppreference.com
其識別符號在宣告時未帶儲存類說明符 _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