首页 理论教育 C语言程序设计教程:局部变量的作用及例示

C语言程序设计教程:局部变量的作用及例示

时间:2023-10-27 理论教育 版权反馈
【摘要】:在一个函数内部定义的变量,包括形参,一律称为局部变量。在程序设计中,局部变量是使用最多的标识符。各个函数都有若干局部变量,但不同函数之间的局部变量,即使重名也互不影响。值得注意的是,在函数main和函数f1中都有局部变量i,但两者是相互独立的两个内存单元。关于局部变量的作用域还要说明以下几点。例5-7循环体复合语句中的局部变量示例。

C语言程序设计教程:局部变量的作用及例示

在一个函数内部定义的变量,包括形参,一律称为局部变量。它只在所属函数中使用,即其作用域是所属函数。

在程序设计中,局部变量是使用最多的标识符。各个函数都有若干局部变量,但不同函数之间的局部变量,即使重名也互不影响。

以下是一个程序的框架示例,其中3个函数各有若干局部变量。

在函数f1内定义了4个局部变量,a为形参,b、c、i为一般变量。在f1的范围内a、b、c、i有效,或者说a、b、c、i的作用域限于函数f1内。同理,x、y、w、z、j的作用域限于函数f2内。i、j的作用域限于函数main内。

值得注意的是,在函数main和函数f1中都有局部变量i,但两者是相互独立的两个内存单元。函数main中的j和函数f2中的j,也属于这种情况。

关于局部变量的作用域还要说明以下几点。

①在函数内部复合语句内定义的变量都是局部变量,只在本复合语句中有效。(www.xing528.com)

②形参是属于被调函数的局部变量;实参是属于主调函数的局部变量。

③不同函数中可以使用相同名字的局部变量,它们代表不同的对象,在内存中存储的位置也不同,互不干扰。

④如果在一个源文件中全局变量和局部变量同名,则在局部变量的作用范围内,全局变量不起作用,而局部变量起作用。

例5-7 循环体复合语句中的局部变量示例。

此程序中的s和i是main函数中的局部变量,j是循环体复合语句中的局部变量。在main函数的尾部,可以正常打印s和i,但不能打印j。因为j的作用域只是for语句的循环体。若删除注释语句的注释符号,则将造成语法错误,j是“undeclared identifier”。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈