特点: static局部变量的”记忆性”与生存期的”全局性”
所谓”记忆性”是指在两次函数调用时, 在第二次调用进入时, 能保持第一次调用退出时的值。
static的统计次数功能
声明函数的一个局部变量,作为一个计数器,这样函数每次被调用的时候就可以进行计数。这是统计函数被调用次数的最好的办法,因为这个变量是和函数息息相关的,而函数可能在多个不同的地方被调用,所以从调用者的角度来统计比较困难。
#include <stdio.h>
void Cycle_Count(void)
{
static int i=0;
i++;
printf("调用次数 %d\n",i);
if(i==7)
{
i=0;
printf("内部重置统计 %d\n",i);
}
}
int main()
{
for(int i=0;i<100;i++)
{
Cycle_Count();
}
return 0;
}
此函数中,i的值在第一次初始化为0,以后每次调用时,都取上次的值作为初始值。