很多小伙伴刚开始学C语言的时候分不清全局变量和局部变量到底有什么区别。今天就简单理解一下什么是全局变量,什么是局部变量。
1.局部变量
局部变量和全局变量重名时,局部变量的优先级是高于全局变量的。
例如:像这样这段代码,它最终的运行结果就是我们所定义的局部变量的值。
#include<stdio.h>
int a=1;//全局变量
int main()
{
int a=2;//局部变量
printf("%d\n",a);
return 0;
}
2.全局变量
全局变量能在函数中直接被改变,下面代码就是直接将全局变量的值改变了
#include<stdio.h>
int a=100;
void change()
{
a=a+1;//全局变量能在函数中直接别改变
}
int main()
{
change();
printf("%d\n",a);
return 0;
}
但是当我们在函数体中定义一个局部变量时,全局变量的改变不影响我们局部变量的值。如下面的代码段。
#include<stdio.h>
void change(int a)//全局变量
{
a=a+123;
}
int main()
{
int a=100;//a是局部变量,不受全局变量的改变而改变
change(a);
printf("%d",a);
return 0;
}
希望能对您有所帮助!