|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
变量的作用域定义:程序中可以访问一个指示符的一个或多个区域,即变量出现的有效区域,决定了程序的那些部分通过变量名来访问变量。一个变量根据其作用域的范围可以分为函数原型作用域、局部变量和全局变量。
2 p: O( L) M* Q w: e B1.函数原型作用域
6 b* z* p9 D! @5 {+ |1 j1 Y函数原型中的参数,其作用域始于“(”,结束于“)”。8 d5 ?, B& u7 K% h3 Y8 d
设有下列原型声明:
8 r8 h: }7 a D$ pdouble Area(double radius);
1 x( V; A2 Z6 m1 L F n4 rradius的作用于仅在于此,不能用于程序正文其他地方,因而可以忽略。
! I# \+ m3 F4 a% e8 t, f: x y$ Y1 L2.局部变量4 t9 y+ N, x) |3 T7 a6 |* l
在函数内部定义的变量称为局部变量,局部变量仅能被定义该变量的模块内部的语句所访问,换言之,局部变量在自己的代码模块之处是不可见的。
" e1 g. C4 l0 b, e对于局部变量,要了解的重要规则是,它们仅存在于定义该变量的执行代码块中,即局部变量在进入模块时生成,在退出模块时消亡。定义局部变量的最常见的代码块是函数,例如:, f6 ]* V' h1 v2 Q" L4 n
void func1()
5 W4 L7 r6 h# |7 c3 l{' Y0 f% G+ J4 {/ O7 s7 n
intx;0 u) l, D5 I) v' {! ]
x=10;
' Q- `1 M1 |/ C. s8 _}, z6 u* y+ H- [5 B. C
void func2()
$ e. C1 C7 }0 A{
8 A$ U$ ~% _- W9 |7 n2 Y/ _ intx;
0 r, [, Y( K' N x=2007;
9 {/ f4 _ {( {2 U* _$ Z} 4 k9 M6 K" k" ^
整数变量x被定义了两次,一次在func1中,另一次唉func2中。func1和func2中互不相关,原因是每个x作为局部变量仅在定义的模块内可见。
. q' H3 \" M) U0 f6 E要注意的是,在一个函数内部可以在符合语句中定义变量,这些符合语句成为“分程序”或“程序块”。
6 T P" a+ k ?6 Z3 v, y |
|