今天学习的是变量的作用域,程序中被花括号包起来的部分被称作语句块(Block)。而变量的作用域规则是:每个变量仅在定义它的语句块内有效,并拥有自己的内存空间。简单来讲就是在语句块中定义的变量只在这个语句块中有用,而不影响语句块外的变量。
而C语言中的变量,按作用域范围可分为两种,即局部变量和全局变量。
局部变量也称为内部变量。局部变量是在函数内作定义说明的。其作用域仅限于函数内, 离开该函数后再使用这种变量是非法的。在复合语句中也可定义变量,其作用域只在复合语句范围内。
全局变量也称为外部变量,它是在函数外部定义的变量。它不属于哪一个函数,它属于一个源程序文件。其作用域是整个源程序。
#include<stdio.h>
//在这里我定义一个全局变量
int a=1;
//定义一个函数
int f(int a)
{
int y=9,z=a+y;//y,z为局部变量
printf("y=%d,z=%d\n",y,z);
return 0;
}
int main()
{
f(9);
int y=12;
printf("y+a=%d",y+a);//输出全局变量和局部变量的和
return 0;
}