一文搞懂C语言局部变量,全局变量
局部变量
基本概念:局部变量一般又分为普通局部变量和静态局部变量。
普通局部变量:一般指定义在函数中的普通变量。
静态局部变量:静态局部变量同样定义在函数中,但是变量类型前面会由static关键字修饰,表示其为静态局部变量。下面展示代码,看一看局部变脸和全局变量的具体区别。
#include <stdio.h>
void func()
{
int i = 0;
printf("普通局部变量i:%d\n",i);
i++;
}
void func_static()
{
static int i = 0;
printf("静态局部变量i:%d\n",i);
i++;
}
int main()
{
//调用两次含有普通局部变量的函数func
func();
func();
printf("-------------------------\n");
//调用两次含有静态局部变量的函数func_static
func_static();
func_static();
return 0;
}
运行上面的程序得到如下结果
普通局部变量i:0
普通局部变量i:0
-------------------------
静态局部变量i:0
静态局部变量i:1
由以上程序和运行结果可以查看出,静态局部变量的效果有些类似于全局变量,它的生命周期不随着函数执行结束而结束,它存在与静态存储区,而不是栈区。
全局变量
基本概念</