一、问题
C程序中的变量有局部变量和全局变量,那么什么是局部变量呢?
二、解答
局部变量也称为内部变量,即在函数内部定义的变量。它只在本函数范围内有效,在函数外是不能使⽤该变量的。例如:
int f1(int a)
{int b, c;...
}
int f2(int x, int y)
{int z;
}
main()
{int m, n;
}
在上述代码中,变量a、b和c的有效使⽤范围仅限于 f1( ) 函数内,变量x、y和z的有效使⽤范围在 f2( ) 函数内,变量 m 和n在主函数范围内有效。
在上述代码中再加⼊⼀个f3( ) 函数,代码如下。
int f3(int x)
{int y, z, p, q;...
}
这⾥,f3( ) 函数中的部分参数和 f2( ) 中的部分参数相同。在此要注意的是,虽然它们的名字相同,但是代表的对象不同,之间互不⼲扰。 复合语句中也可以定义变量,其作⽤域只在复合语句范围内,这种复合语句也可称为“分程序〞或“程序块”。
三、总结
- 形式参数也同样被看作局部变量,像前⾯ f1( ) 函数中的形参 a、f2( ) 函数中的形参 x 和y等都是局部变量。
- 主函数中定义的变量也只在主函数中有效,⽽不因为在主函数中定义了就在整个程序中都有效。当然在主函数中也不能使⽤其他函数中定义的变量。例如,在上⾯的程序,在 mian( ) 函数中不能使⽤ f1( ) 函数中定义的任意变量(a、b、c)。