找回密码
 注册
关于网站域名变更的通知
查看: 536|回复: 12
打印 上一主题 下一主题

[经验] 作用域

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2016-6-28 11:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
变量的作用域定义:程序中可以访问一个指示符的一个或多个区域,即变量出现的有效区域,决定了程序的那些部分通过变量名来访问变量。一个变量根据其作用域的范围可以分为函数原型作用域、局部变量和全局变量。
! Q% S. A# V8 _; ?9 p2 V. s4 [1.函数原型作用域5 ^) `# K: J( \; X$ m
函数原型中的参数,其作用域始于“(”,结束于“)”。
( f0 J& h7 G5 P7 j# c; p3 O设有下列原型声明:8 d# K) g/ N' X
double Area(double radius);
6 l9 J6 F) j# ~* uradius的作用于仅在于此,不能用于程序正文其他地方,因而可以忽略。: M+ B9 }6 N& H# I% M
2.局部变量
% e2 W1 _9 g5 G在函数内部定义的变量称为局部变量,局部变量仅能被定义该变量的模块内部的语句所访问,换言之,局部变量在自己的代码模块之处是不可见的。
- W: E" v$ i3 Y对于局部变量,要了解的重要规则是,它们仅存在于定义该变量的执行代码块中,即局部变量在进入模块时生成,在退出模块时消亡。定义局部变量的最常见的代码块是函数,例如:! b, u' h  K5 ^9 M* J  R
void func1()
9 q% g5 s' i) d  `. _& K{
4 \0 z# ?" P1 E% Z       intx;
6 }( X" r" q: _- [! @       x=10;3 N+ J. \" m# i0 Y
}; j; h" p  l8 V1 O* [9 u- A" |
void func2()
; o& \/ L0 Z3 a' X! }{9 O5 D, s' E, z/ b) l, [
       intx;
/ N; ?) A) M/ Q( E7 A       x=2007;  - J& X+ ^% V7 [% H) _7 H' C
}     6 v5 I# O8 w2 Q1 U' m8 u
整数变量x被定义了两次,一次在func1中,另一次唉func2中。func1和func2中互不相关,原因是每个x作为局部变量仅在定义的模块内可见。# E- }8 C4 W* p2 M1 ^$ v( R
要注意的是,在一个函数内部可以在符合语句中定义变量,这些符合语句成为“分程序”或“程序块”。
' t4 X% J8 z& F% O5 p) o3 b, N

该用户从未签到

2#
发表于 2016-6-28 13:59 | 只看该作者
楼主辛苦了!
7 x8 M9 f' u# L, _* H1 d

该用户从未签到

3#
发表于 2016-6-29 10:42 | 只看该作者
必须赞一个~
) j+ r! L8 n0 I& e& E7 I

该用户从未签到

4#
发表于 2016-6-29 11:25 | 只看该作者
必须赞一个~

该用户从未签到

5#
发表于 2016-7-1 15:38 | 只看该作者
谢谢分享,必须赞一个~

该用户从未签到

6#
发表于 2016-7-1 15:51 | 只看该作者
路过捧场,谢谢分享!0 K' C+ F0 ]2 E4 j' u

该用户从未签到

7#
发表于 2016-7-2 14:08 | 只看该作者
感谢楼主分享!!!
: ]& ?* L# l) `

该用户从未签到

8#
发表于 2016-7-4 15:41 | 只看该作者
路过捧场,谢谢分享!
6 ?: {( `# n' m/ s

该用户从未签到

9#
发表于 2016-8-5 08:48 | 只看该作者
楼主辛苦了!
/ m4 \# d* C1 H# x9 r

该用户从未签到

10#
发表于 2016-8-5 11:18 | 只看该作者
支持楼主!谢谢分享!$ N2 ?5 Y7 d) t9 k9 Y* R  [
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-12 02:56 , Processed in 0.140625 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表