EDA365电子论坛网

标题: [经验] 作用域 [打印本页]

作者: ygcgsa    时间: 2016-6-28 11:43
标题: [经验] 作用域
变量的作用域定义:程序中可以访问一个指示符的一个或多个区域,即变量出现的有效区域,决定了程序的那些部分通过变量名来访问变量。一个变量根据其作用域的范围可以分为函数原型作用域、局部变量和全局变量。5 w: T. v4 J( K) {
1.函数原型作用域2 ]1 H* h( S( [; L
函数原型中的参数,其作用域始于“(”,结束于“)”。
* m- y! i; b. y9 G( I6 r, _) n设有下列原型声明:
) z) p# ~  M/ e5 @double Area(double radius);
' T$ E4 T- ]. D, {$ A$ g5 y/ C' d+ zradius的作用于仅在于此,不能用于程序正文其他地方,因而可以忽略。3 c/ ], K8 S. k( Q0 d2 w  Z! d
2.局部变量
- c2 a4 U6 i6 E在函数内部定义的变量称为局部变量,局部变量仅能被定义该变量的模块内部的语句所访问,换言之,局部变量在自己的代码模块之处是不可见的。! x. Z; G3 T' }; k! u
对于局部变量,要了解的重要规则是,它们仅存在于定义该变量的执行代码块中,即局部变量在进入模块时生成,在退出模块时消亡。定义局部变量的最常见的代码块是函数,例如:# j  p; ]% p7 a. v+ j9 K0 b
void func1()" `" z. ~: |0 V
{1 V7 h) B2 Q$ e0 ?
       intx;! P! |  p( y3 m9 V* Q5 j
       x=10;
, a7 j/ g1 u' g- Q" U, J; G1 ?}+ g1 V7 S* g9 `" Q) k- [
void func2()
0 {9 A8 a- n# C. F7 c4 P( k/ I{  z9 @1 j) ]9 V8 a5 R5 `
       intx;
" L5 i6 G; g/ \* [6 V& }       x=2007;  # P7 N9 n" X/ W: z# Z# c
}     
8 j3 ~% U# c3 Y6 `' A- r7 j7 F整数变量x被定义了两次,一次在func1中,另一次唉func2中。func1和func2中互不相关,原因是每个x作为局部变量仅在定义的模块内可见。
% O" d# ~- B1 \2 Q4 v7 z4 T' T要注意的是,在一个函数内部可以在符合语句中定义变量,这些符合语句成为“分程序”或“程序块”。
8 h, Z: F2 X$ C
作者: 85486952    时间: 2016-6-28 13:59
楼主辛苦了!
6 b* T/ }2 l: B' m
作者: hasky    时间: 2016-6-29 10:42
必须赞一个~4 F( U; v. M% D8 j

作者: cyxs    时间: 2016-6-29 11:25
必须赞一个~
作者: Hh0203    时间: 2016-7-1 15:38
谢谢分享,必须赞一个~
作者: liao821    时间: 2016-7-1 15:51
路过捧场,谢谢分享!
; V1 I( P% i- p
作者: Abricy    时间: 2016-7-2 14:08
感谢楼主分享!!!
! h) p& H; f; ~3 c
作者: zhoumi    时间: 2016-7-4 15:41
路过捧场,谢谢分享!5 j! E9 k0 Z) w- d( q* [6 n5 s

作者: helendcany    时间: 2016-8-5 08:48
楼主辛苦了!# U; v. u; K) i9 `( ]6 Z2 h& }. d

作者: Gegu    时间: 2016-8-5 11:18
支持楼主!谢谢分享!
! a! _1 u9 n/ P% m' O7 Q, o" K2 P
作者: xuzwg    时间: 2016-8-5 11:22
学习了!3Q
! V/ w; H+ c- }$ m; f( u2 T
作者: 10929390    时间: 2016-8-5 15:02
点赞,点赞……
2 l! A4 Y  x, T0 G
作者: duzy    时间: 2016-8-6 10:33
学习了!3Q
& Y) L: M2 B6 d9 t% h




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2