22问答网
所有问题
静态局部变量和局部变量有何不同啊 C++中
请给我详细解释一下 静态局部变量和局部变量有何不同 ?
举报该问题
推荐答案 2009-03-31
局部变量在它的生命期结束时,它的内存也随之消失,再次使用时再次申请空间,而静态局部变量则不会释放当前的内存,而且只定义一次。
例1-100的和:
for(int i=1;i<101;i++)
{
static int sum=0;
sum+=i;
}
这里的sum并不会因为static int sum=0;而重新定义,而是保持当前的sum的和
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://22.wendadaohang.com/zd/TCS2Sh2S.html
其他回答
第1个回答 推荐于2018-04-13
静态局部变量虽然属于”局部变量”,但其生命周期与整个程序的生命周期一样,只不过在用不到的时候不可见.当其再次被"激活"(也就是程序再次进入定义它的程序段时,其值不变).
而局部变量,存放于栈中,用完就没了.
本回答被提问者和网友采纳
第2个回答 2009-03-31
作用域:相同
作用周期:静态局部变量类似于全局变量,每次进入的时候都使用上一次的值(第一次同局部变量),而局部变量每次重新定义和初始化。
第3个回答 2009-03-31
静态局部变量的生命周期长,它只被定义一次
比如
for(int i = 0; i <100; i++)
{
static int c =3;//只执行一次。
c++;
}
地址空间不同,静态存储区和栈
相似回答
静态变量和局部变量和全局变量
的区别
答:
1>全局变量,静态局部变量,静态全局变量都在静态存储区分配空间,而局部变量在栈里分配空间
2>全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。
这两者在存储方式上并无不同
。这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量...
静态变量和局部变量
的区别
答:
3、生命周期:静态变量和局部变量的生命周期不同
。静态变量只被初始化一次,自第一次被初始化开始,直到程序运行结束都一直存在。而局部变量在函数执行期间存在,函数执行结束后,变量被销毁。
大家正在搜
相关问题
java中类变量、实例变量和局部变量有何区别?
C++中静态局部变量作用的程序块指的是什么
C++中静态局部变量作用的程序块指的是什么
全局变量、静态全局变量、静态局部变量和局部变量的区别
C++中静态局部变量的生存期是什么?是贯穿整个程序还是从调用...
C++ 全局变量、静态全局变量和静态局部变量的异同?能结合代...
C++成员函数中的静态局部变量能不能提高程序的执行效率