本實例展示函數內 static 變量跨多次調用保持值,而普通局部變量每次調用重新初始化。
// Created by www.runoob.com on 15/11/9.
// Copyright © 2015年 菜鳥教程. All rights reserved.
//
#include <stdio.h>
int main() {
void fun();
for (int i = 0; i < 3; i++)
fun();
return 0;
}
void fun() {
int i = 0;
static int static_i = 0;
printf("i=%d\n", i);
printf("static_i=%d\n", static_i);
i++;
static_i++;
}
i=0
static_i=0
i=0
static_i=1
i=0
static_i=2
函數內靜態變量常用於:計數器、單例模式、緩存上次計算結果等。