EDA365电子工程师网

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

作者: ygcgsa    时间: 2016-6-28 11:43
标题: [经验] 作用域
变量的作用域定义:程序中可以访问一个指示符的一个或多个区域,即变量出现的有效区域,决定了程序的那些部分通过变量名来访问变量。一个变量根据其作用域的范围可以分为函数原型作用域、局部变量和全局变量。5 g, l6 r0 b! [( X' u. D( e" d
1.函数原型作用域9 n. z. S! _5 k  E: {, Q! |
函数原型中的参数,其作用域始于“(”,结束于“)”。
, R+ [* Z# S6 O7 F" X5 Q( T0 c3 B设有下列原型声明:" A) J& \- v$ U6 K2 h
double Area(double radius);
9 w- m# B+ f0 j% Oradius的作用于仅在于此,不能用于程序正文其他地方,因而可以忽略。5 P+ Y2 a- D6 m/ I0 B* m  F
2.局部变量  X& z( I& m' V! c
在函数内部定义的变量称为局部变量,局部变量仅能被定义该变量的模块内部的语句所访问,换言之,局部变量在自己的代码模块之处是不可见的。
! m& C3 |' X6 a' u对于局部变量,要了解的重要规则是,它们仅存在于定义该变量的执行代码块中,即局部变量在进入模块时生成,在退出模块时消亡。定义局部变量的最常见的代码块是函数,例如:7 B* a8 x4 N5 }
void func1()
( e# K; A( K5 {{3 N6 C6 r/ z, j* o
       intx;1 a9 Q1 C) U  A
       x=10;" w2 Z4 V' @7 B! L
}
; R' t! G  I) y) hvoid func2()
0 D0 C* a! N( T$ _9 {, n, Y" |{
$ b/ N4 A* ~" j% ]7 W! Z       intx;
) _  y6 b3 o( \2 _       x=2007;  
6 K; T+ B) [$ |/ R}     
' J( q; [- v2 Z$ U6 \: n整数变量x被定义了两次,一次在func1中,另一次唉func2中。func1和func2中互不相关,原因是每个x作为局部变量仅在定义的模块内可见。4 A& `7 i4 A' ^) |( y( v9 N$ V
要注意的是,在一个函数内部可以在符合语句中定义变量,这些符合语句成为“分程序”或“程序块”。
( o0 q- c$ f7 H$ b
作者: 85486952    时间: 2016-6-28 13:59
楼主辛苦了!
5 A7 w. {( u  @- l- v) ^
作者: hasky    时间: 2016-6-29 10:42
必须赞一个~  c& k2 e' U5 i  N/ X& p

作者: cyxs    时间: 2016-6-29 11:25
必须赞一个~
作者: Hh0203    时间: 2016-7-1 15:38
谢谢分享,必须赞一个~
作者: liao821    时间: 2016-7-1 15:51
路过捧场,谢谢分享!
) I3 @- f8 i; l$ u3 x4 f/ q: M" p& D
作者: Abricy    时间: 2016-7-2 14:08
感谢楼主分享!!!
! D$ @( W/ F1 ?, V9 A+ F+ ~
作者: zhoumi    时间: 2016-7-4 15:41
路过捧场,谢谢分享!
. M+ |6 L) x2 Y! U: U3 t
作者: helendcany    时间: 2016-8-5 08:48
楼主辛苦了!" D3 b! b# [& L, i

作者: Gegu    时间: 2016-8-5 11:18
支持楼主!谢谢分享!1 v2 d9 h) l* F

作者: xuzwg    时间: 2016-8-5 11:22
学习了!3Q+ i% Y. x3 G1 O4 i& K$ k3 i1 c; Y

作者: 10929390    时间: 2016-8-5 15:02
点赞,点赞……
& y! R# G; |: F3 A3 R
作者: duzy    时间: 2016-8-6 10:33
学习了!3Q
1 \( E6 L. I) D) R& E, `  E5 ?3 x# M




欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/) Powered by Discuz! X3.2