欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C语言中全局变量、局部变量、静态全局变量、静态局部变量的含义

程序员文章站 2022-07-07 21:34:02
...
int a = 0;             //全局变量
static int a=0;        //静态全局变量
void func() 
{ 
    int b;             //局部变量
    static int b;      //静态局部变量 
}

全局变量:具有全局作用域,全局变量只需在一个源文件中定义,就可以作用于所有的源文件。

静态全局变量:具有全局作用域,它与全局变量的区别在于如果程序包含多个文件的话,它作用于定义它的文件里,不能作用到其它文件里,即被 static 关键字修饰过的变量具有文件作用域。

局部变量:具有局部作用域,它是自动对象(auto),它在程序运行期间不是一直存在,而是只在函数执行期间存在,函数的一次调用执行结束后,变量被撤销,其所占用的内存也被收回。

静态局部变量:具有局部作用域,它只被初始化一次,它放在静态存储区中,不会像普通局部变量那样因为函数调用结束而被系统回收,它的生存周期会持续到程序结束。

相关标签: c语言