当在一个函数中声明一个变量前加static时,该变量便是静态局部变量,特点是1.生存期为整个程序,不会随着函数的退出而消失。2.作用域仍在函数内部,在其他地方无法使用该静态局部变量。
下面是一个小例子进行演示:
#include <stdio.h>
#include <stdlib.h>
void varfunc();
void main()
{
int i;
for(i=0;i<3;i++)
varfunc();
}
void varfunc()
{
int var=0;
static int static_var=0;
printf("var is %d.
",var);
printf("static var is %d.
",static_var);
var++;
static_var++;
}