1.变量
变量分为局部变量,全局变量,静态局部变量,静态全局变量
(1)局部变量
局部变量也叫auto自动变量,一般情况下在{}内部定义的变量叫自动变量,它只对定义的函数范围内有效,而如果在在语句中,那么只在语句中有效,随着函数或者语句的结束那么它的运用也结束了,我们定义的时候不需要强调auto,就直接定义就行,而main函数中的变量其实也算局部变量。
int main()
{
int a;定义的a在main函数中有效,main函数结束就失效
for(int i=0;i<n;i++)//i定义在for语句当中只在for语句中有效
{
代码体
}
(2)全局变量
全局变量定义在函数外部,作用于整个文件,全局变量在作用域中是唯一的,而其他文件需要用的时候是需要声明的,全局变量的生命周期贯穿整个函数,用到其他变量时,变量的值也会被赋值被改变,就是说,全局变量会随着主函数中代码的运行而改变,这个是一个需要注意的点。
而定义全局变量和局部变量的时候可以用同一个变量名,因为局部变量存储在栈区,而全局变量存储在数据区,所以可以用同一个变量名,不过,运行时会采用就近原则。
int a=10;//全局变量存储于数据区
int main()
{
int a=20;
printf("%d\n",a);//打印时会打印20,因为会用就近的,存储在栈区
return 0;
}