|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
变量的作用域定义:程序中可以访问一个指示符的一个或多个区域,即变量出现的有效区域,决定了程序的那些部分通过变量名来访问变量。一个变量根据其作用域的范围可以分为函数原型作用域、局部变量和全局变量。
6 y; m7 K/ W( p1.函数原型作用域
' W2 {' D2 R8 d函数原型中的参数,其作用域始于“(”,结束于“)”。0 T2 e9 G& Y3 _+ k5 V; T% ^3 X
设有下列原型声明:4 s& A* u5 G$ l. Q2 D( T$ N5 J
double Area(double radius);
. U" J" U5 s* c _" e8 r. k# b! M rradius的作用于仅在于此,不能用于程序正文其他地方,因而可以忽略。1 [2 o0 e# r- X, Y7 r7 M$ O9 W
2.局部变量/ B& c( D: ]* y7 j- B& w" M: U
在函数内部定义的变量称为局部变量,局部变量仅能被定义该变量的模块内部的语句所访问,换言之,局部变量在自己的代码模块之处是不可见的。. A7 b X5 c) C8 x! i; |$ U* N
对于局部变量,要了解的重要规则是,它们仅存在于定义该变量的执行代码块中,即局部变量在进入模块时生成,在退出模块时消亡。定义局部变量的最常见的代码块是函数,例如:
) l N- J( k+ hvoid func1()
1 O- Q( G- D3 n4 o7 e# ~{& o$ k0 q2 l \4 S8 O
intx;
0 l4 d# E, H0 j$ v2 ?) B* L. | x=10;
# w5 G; C0 ?1 U3 k3 S, ], T; X}
. y' v" H" L: [# R x$ x$ Rvoid func2(): F, z0 e8 f+ ^* {
{+ P: n6 B7 o1 O# s
intx;$ T8 b& H' j6 ]" c: d
x=2007;
6 M0 V4 r( q6 H( d' g& `' l; F}
8 b# S" o; } I* j- }9 m整数变量x被定义了两次,一次在func1中,另一次唉func2中。func1和func2中互不相关,原因是每个x作为局部变量仅在定义的模块内可见。/ C. b# D% ] w3 Q
要注意的是,在一个函数内部可以在符合语句中定义变量,这些符合语句成为“分程序”或“程序块”。* G; }9 L3 q1 v" X: v3 p& Q$ p
|
|