static :创建static变量时,就为这个变量分配了一块内存空间,直到程序关闭时才销毁
例如:
#include<stdio.h> int counter(); int main() { int count = 0; counter(); counter(); counter(); count = counter(); printf("count = %d ", count); return 0; } int counter() //每调用一次函数,就重新生成局部变量,当函数执行完毕之后, { // //所定义的局部变量count就被销毁 int count = 0; count ++; return count; //返回之后便销毁 }
运行结果:count = 1
稍加改进:
int counter() { //静态存储 static int count = 0; //第一次执行会分配空间,以后就不再分配空间,本句只会被执行一次 count ++; return count; }
运行结果:
count = 4