正在加载图片...
靳润昭C语言教程讲义 2001年2月17日 int f2(int x) /*函数f2*/ X,y,z有效 int m n m,n有效 在函数f1内定义了三个变量,a为形参,b,c为一般变量。在f1的范围内a,b,c有效, 或者说a,b,c变量的作用域限于f1内。同理,x,y,z的作用域限于f2内。m,n的作用域限 于main函数内。关于局部变量的作用域还要说明以下几点 1)主函数中定义的变量也只能在主函数中使用,不能在其它函数中使用。同时,主函 数中也不能使用其它函数中定义的变量。因为主函数也是一个函数,它与其它函数 是平行关系。这一点是与其它语言不同的,应予以注意 2)形参变量是属于被调函数的局部变量,实参变量是属于主调函数的局部变量。 3)允许在不同的函数中使用相同的变量名,它们代表不同的对象,分配不同的单元, 互不干扰,也不会发生混淆。如在前例中,形参和实参的变量名都为n,是完全允 4)在复合语句中也可定义变量,其作用域只在复合语句范围内 例如 maino int b: s=a+b: /*b作用域*/ /*s,a作用域* 【例8.12】 main int l k=i+j nt k=8 printf("%d\n", k)靳润昭 C 语言教程讲义 2001 年 2 月 17 日 第18页 int f2(int x) /*函数 f2*/ { int y,z; …… } x,y,z 有效 main() { int m,n; …… } m,n 有效 在函数 f1 内定义了三个变量,a 为形参,b,c 为一般变量。在 f1 的范围内 a,b,c 有效, 或者说 a,b,c 变量的作用域限于 f1 内。同理,x,y,z 的作用域限于 f2 内。m,n 的作用域限 于 main 函数内。关于局部变量的作用域还要说明以下几点: 1) 主函数中定义的变量也只能在主函数中使用,不能在其它函数中使用。同时,主函 数中也不能使用其它函数中定义的变量。因为主函数也是一个函数,它与其它函数 是平行关系。这一点是与其它语言不同的,应予以注意。 2) 形参变量是属于被调函数的局部变量,实参变量是属于主调函数的局部变量。 3) 允许在不同的函数中使用相同的变量名,它们代表不同的对象,分配不同的单元, 互不干扰,也不会发生混淆。如在前例中,形参和实参的变量名都为 n,是完全允 许的。 4) 在复合语句中也可定义变量,其作用域只在复合语句范围内。 例如: main() { int s,a; …… { int b; s=a+b; …… /*b 作用域*/ } …… /*s,a 作用域*/ } 【例 8.12】 main() { int i=2,j=3,k; k=i+j; { int k=8; printf("%d\n",k); }
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有