任意一个函数和变量都有两个属性:数据类型和数据的存储类别
自动变量:
通俗的说,没有被static修饰的都是动态的(auto); (auto)是可省略的,所以没有声明的变量都是自动变量
静态局部变量:
用static关键字声明,在函数调用结束后,继续保留原值,在下一次函数调用的时候时,该变量继续使用上一次结束时的值
代码示例:
#include
void main()
{
int f(int);
int i,a=2;
for(i=0;i<3;i++)
printf("%d\n",f(a));
}
int f(inta){
int b=1;
static c=0;
b=b+1;
c=c+1;
return(a+b+c);
}
第一个值:a:2 b:1 c:1 结果:4
第二个值:a:2 b:1 c:2 .... 5
第三个值:a:2 b:1 c:3 ....6
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)