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% O
radius的作用于仅在于此,不能用于程序正文其他地方,因而可以忽略。
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) h
void 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