C语言入门之函数(4)
变量作用域
在讨论函数的参数变量时,提到了参数变量只在调用过程中分配内存单元,调用后立即释放。这说明参数变量只在函数中有效,没有函数就不能使用。这种变量的有效范围称为变量的作用域。对于参数变量,C语言中所有的量都有自己的作用域。变量的解释方式不同,作用域也不同。C语言中的变量按照作用域可以分为两种,局部变量和全局变量。
一.局部变量
局部变量也称为内部变量。局部变量在函数中定义。它的作用域仅限于函数,离开函数后使用这个变量是非法的。
例如:
Int (int a)/*函数f1*/
{
int b,c;
...
} A,B,C作用域
int f2(int x) /*函数f2*/
{
int y,z;
}x,y,z scope
main()
{
int m,n;
}
m,n的范围定义了函数f1中的三个变量,A是参数,b,c是一般变量。在f1的范围内,A,B,C有效,或者变量A,B,C的范围限定在f1。同样的,x,Y,Z,Y,Z的范围限定为f2。m,n的范围仅限于主函数。关于局部变量的范围,还应说明以下几点:
1.主函数中定义的变量只能在主函数中使用,不能在其他函数中使用。同时,在其他函数中定义的变量不能在主函数中使用。因为主函数也是函数,和其他函数有并行关系。这和其他语言不一样,要注意。
位律师回复
0条评论