C语言中全局变量、局部变量、静态全局变量、静态局部变量的含义
程序员文章站
2022-07-07 21:34:02
...
int a = 0; //全局变量
static int a=0; //静态全局变量
void func()
{
int b; //局部变量
static int b; //静态局部变量
}
全局变量:具有全局作用域,全局变量只需在一个源文件中定义,就可以作用于所有的源文件。
静态全局变量:具有全局作用域,它与全局变量的区别在于如果程序包含多个文件的话,它作用于定义它的文件里,不能作用到其它文件里,即被 static 关键字修饰过的变量具有文件作用域。
局部变量:具有局部作用域,它是自动对象(auto),它在程序运行期间不是一直存在,而是只在函数执行期间存在,函数的一次调用执行结束后,变量被撤销,其所占用的内存也被收回。
静态局部变量:具有局部作用域,它只被初始化一次,它放在静态存储区中,不会像普通局部变量那样因为函数调用结束而被系统回收,它的生存周期会持续到程序结束。
上一篇: 第二十一天学习python
下一篇: Linux设置SSH黑名单 白名单