静态变量的生存期

2025-02-26 09:35:40
推荐回答(4个)
回答1:

所谓静态变量,就是相对于函数中定义的局部变量来说的,比如:
void fun() { static int xxx=2; int yyy=1 x++; }
这个函数中开设了一个静态变量xxx并且使其初始值等于2。这个变量在main程序还没有运行时就被创建好了,并且被赋初值为2。程序运行中如多次调用fun函数并不会重新赋初值,并且xxx将会记住自己的当前值(每调用fun一次自加一,相当于计数该函数的调用次数)。而相对的,yyy是每次调用函数时,才开设存储区给yyy并赋初值为1后再执行后面语句,并且退出fun后yyy的内存空间就立刻被释放了。

回答2:

当程序编译时,是把代码转换成了机器语言,在计算机内存中已分配了空间。全局变量声明之前加上static,就是静态全局变量,全局变量 从定义处至文件尾的所有函数都可引用。一般置于文件开始处, 程序执行开始:系统分配内存单元;程序执行完毕:系统回收内存单 元,就是整个程序运行过程中都存在。

回答3:

静态变量的生存周期:程序结束它就结束了。

回答4:

编译时赋值