第22次(变量的存储类别)

第22次(变量的存储类别)

ID:43738401

大小:419.50 KB

页数:10页

时间:2019-10-13

第22次(变量的存储类别)_第1页
第22次(变量的存储类别)_第2页
第22次(变量的存储类别)_第3页
第22次(变量的存储类别)_第4页
第22次(变量的存储类别)_第5页
资源描述:

《第22次(变量的存储类别)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、ITEducation&TrainingNeusoftInstituteofInformationDate:18九月2021办公室:C7座201EMAIL:huang.w@neusoft.com课件下载网址:ftp://computer.dept.ccniit.com任课教师:黄伟第五章函数授课要点变量的存储类别问题#includevoidprt();main(){intx;for(x=1;x<=5;x++)prt();}voidprt(){staticinty=0;y++;printf("%d",y);

2、}输出结果:12345去掉static后的结果为多少?问题分析动态存储变量和静态存储变量动态变量:用auto关键字表示如autointp,f;//p,f为两个动态变量在C中,默认的变量定义就是定义为动态变量即上述的p,f变量定义与intp,f;是完全等价的。静态变量:在程序生存期内一直有效。注意,如果静态变量出现在函数中,不会因为函数的调用结束而丢失这个变量的值变量的生存期inta,b,c;//外部变量定义main(){intx,y;//内部变量floatf;//内部变量//其他语句…}intsum(intn){ints=

3、0,i;//内部变量//语句}x,y,f的有效区域s,i的有效区域a,b,c的有效区域内部变量与外部变量的作用区域是不一样的。1.变量的存储类型计算机的存储器分为内存和外存。还有一个小小的临时存储器称为寄存器,用以存储一些反复被加工的数据。C语言允许程序员区分是在主存还是在寄存器中开辟变量的存储空间。2.变量的生存期(1)在编译时分配存储单元。这种变量的生存期为程序执行的整个过程,在该过程中占有固定的存储空间,称为永久存储。(2)只在程序执行的某一段时间内存在。比如在函数的执行过程中存在。这种存储方式称为动态存储。小结小结

4、3.变量的可用域变量的可用域也分为全局可用和局部可用。C语言中,用“存储属性”来表示以上三个方面的属性,如表所示。名称寄存器变量自动变量静态变量外部变量存储属性registerautostaticextern存储位置寄存器主存生存期动态生存期永久生存期作用域局部局部或全局全局模仿练习1、写出以下程序的运行结果:intfun(inta)/*a为形参,自动型局部变量*/{autointb=0;/*b是自动型局部变量*/staticintc=3;/*c是静态型局部变量,初始化仅进行一次*/b+=1;c=c+1;returna+b

5、+c;}main(){inta=2,i;/*a和i都是自动型局部变量*/for(i=0;i<3;i++)printf("%dt",fun(a));}模仿练习2、写出以下程序的运行结果:intsum(intn);//函数声明inta=4,b=5,c=6;//外部变量定义main(){intx=1,y=2;floatf=3.0;x=sum(10);printf("x=%d,y=%d,f=%f",x,y,f);printf("a=%d,b=%d,c=%d",a,b,c);//printf("s=%d,i=%d",s

6、,i);}intsum(intn){ints=0,i;for(i=1;i<=n;i++)s=s+i;printf("s=%d,i=%d",s,i);printf("a=%d,b=%d,c=%d",a,b,c);//printf("x=%d,y=%d,f=%f",x,y,f);returns;}NeusoftInstituteofInformation办公室:C7座201EMAIL:huang.w@neusoft.com课件下载网址:ftp://computer.dept.ccniit.com

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。