您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
c语言中,用static声明的局部变量有存在的意义吗?
变量,函数,局部c语言中,用static声明的局部变量有存在的意义吗?
发布时间:2019-02-08加入收藏来源:互联网点击:
c语言中,用static声明的局部变量有存在的意义吗?
回答于 2019-09-11 08:43:50
回答于 2019-09-11 08:43:50
static关键字的涵义有2个。
1,局部可见。
2,静态变量。
解释第一个,如果有在a.c文件中用static声明了全局变量x,在b.c中同样可以用static声明一个全局变量x,这里使用了static的局部可见性。用途很宽广,不列举了。
解释第二个,在函数中用static声明局部变量,此变量在静态区,必须初始化。auto型变量地址在栈区,函数中用完就被释放了。而static变量在你下次调用函数时依然保持在上次被更改的值。用在例如需要记录上一次值的地方。
比如有 获取2次平均值函数
int getAverage(int x){
static int lastx=0;
int ave;
ave=(x+lastx)/2;
lastx=x;/*在下次调用函数时,lastx保持x的值*/
return ave;
}
void main(){
int x=2;
int y;
y=getAverage(x);//y=1
x=10;
y=getAverage(x);//y=6
}
最后送你一只神兽
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |