- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
变量的作用域和生存期:
变量是对程序中数据存储的抽象,它具有以下属性
(1)变量的数据类型。C语言程序中的变量都是有类型的。数据类型是变量
的运算属性的抽象,它决定了该变量的取值范围和可以施加的运算种类。
(2)变量的作用域。变量的作用域是指一个变量在程序中的使用范围
(3)变量的生存期。变量的生存期是指变量生威以及被撤销的时间。
(4)变量的春储区。变量的存储区是指存储变量的存储器类型以及存储机制。
变量的作用域、生存期、存储区就是这里要讨论的问题。
1.局部变量和全局变量
变量的作用域是从空间的角度来看变量,这个变量在程序中的哪个域内
是可以识别的,也称为可见(或可用)的。大体上可以分成两种:全局可用
(全局变量)与局部可用(局部变量
局部变量是定义在一个程序块内的变量。程序块可能是一个函数体
函数)
可能是一个循环体或是选择结构中的一个分支语句块,也可以是
任何一个用花括号括起来的语句块(复合语句)
全局变量定义在函数之外,不属于任何语句块
般来说,定义在什么范围的变量,其作用域就在那个范围,并且在
定义语句开始到这个域结束的范围(域)内被使用,这个域之外是不可见的。
在C语言中,凡是声明函数内部的变量都是局部变量(包含参数的形
【例4-8】演示局部变量的作用域
float fl(int a)
函数1*/
int b,c
a,b,c的作用域
char f2(int x, int y)
/*函数f2*/
1nt1,
x,y,,j的作用域
int: main( void
/*主函数*
Int m, n.
m,n的作用域
烟限3
【例4-9】演示全局变量的作用域
tp=1,=5;
fl (int a)
int b,,c:
变量p,q的作用域
char cl,c2:
char f2(int x, int y
int⊥,j
变量c1,c2的作用域
int main(void)
Int m, n
读程序,分析执行结果:
int i=10;
maino
tint j=l:
i=funO);
printf( 9d. DD):
j=funO):
printf( %od "D: y
fun()
[int k=0;
k=k+i;
return(k;
文档评论(0)