静态局部变量的生存期虽然为整个源程序,但是其作用域仍与自动变量相同,即只能在定义该变量的函数内使用该变量,退出该函数后,尽管该变量还继续存在,但不能使用它。
静态变量与之相对应的是在运行时只暂时存在的自动变量(即局部变量)与以动态分配方式获取存储空间的一些对象,其中自动变量的存储空间在调用栈上分配与释放。
扩展资料:
静态变量也可以用于存储常数。具体来说,静态变量(全局变量及汇编语言里定义的符号亦同)可用const,constant或final(根据语言决定)等关键字标识,这时其值就会在编译时设定,并且无法在运行时改变。
编译器通常将静态常量与文本一起置于目标文件的文本区域,而非常量初始化数据则置于数据区;而如若有需要,有些编译器还可选择为其开辟专用区;为防止常数变量被错误的指针写入覆盖,亦可在这块区域启用内存保护机制。
参考资料来源:
百度百科-静态变量
静态局部变量的作用域是(在定义该变量的函数内)生存期是(整个源程序)
作用域是声明该变量的代码段中,生存期是进程运行周期。
所在的函数内 整个运行周期
文件作用域
静态生存期