关于静态局部变量?!

2025-12-14 08:59:19
推荐回答(2个)
回答1:

这个如果你学过数据结构和计算机组成的话很容易理解。
我文笔太差,实在难以用简短的话讲明白,不过可以跟你说一些简单的。

变量主要有存储于堆或栈上,像你在函数里面申请的变量就是在栈里分配的,所以函数结束它就被销毁,你申请的动态变量就是在堆中分配的,直到程序结束后太释放。
变量存在的时间或范围就是它的生存期。

回答2:

一个程序分为代码段,数据段,堆栈段,
函数被调用的时候使用的局部变量和参数入栈,调用结束了进入栈的局部变量和参数没有用了,就出栈,如果函数里有局部静太变量,那这个变量就不再被压入栈中,而是在数段中,不管函数被调用多少次,局部静太变量只有一个,会随着任何一次调用的改变而改变,直到程序结束,这个静太变量消失,而不是调用一次创建一次,调用结束后,从栈中消失