C语言中静态局部变量的问题

时间:2018.03.07 发布人:fengxinzi123官

C语言中静态局部变量的问题

已解决问题

谷歌fengxinzi123官用户在2018.03.07提交了关于“天天爱消除C语言中静态局部变量的问题”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-02-23T12:39:41。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,谢谢你帮我,祝你快乐,愿你事事如意 !

希望以下的回答,能够帮助你。

第1个回答

用户名:匿名用户  

static用修饰符来声明的变量叫静态变量。

这种变量和一般的变量不同。从程序开始到程序结束一直存在。

局部静态变量。是在函数**声明的静态变量。

局部静态变量的值有一个特性,它会保存问答你操作的结果。

举个例子:

inttest(inta西促研度设排台分盟)

{

staticintsum=5;

sum+=a;

retur妈晚或双亲头助频nsum;

}

当你第一次调用时staticintsum=5类给部操;起作用

inta1=test(2);//a1=7同时sum=7

当你第二次调用时staticintsum=5;不起作用sum=7

inta2=test(2);//a2=9sum=9

这是因为用static声明的变量分黑个说零号按易此能配的地址不是在栈中。在完成第一次调用后,它仍然存歌必府义抓省在,并且有个值。第二次调用时,并穿土空印系子来架未高鲁不会再重新生成一个变量,还会使用上一次函和临照矛数完成时的值。