第8讲-函数-9-变量的存储类ppt课件.ppt

第8讲-函数-9-变量的存储类ppt课件.ppt

ID:59211173

大小:158.00 KB

页数:42页

时间:2020-09-26

第8讲-函数-9-变量的存储类ppt课件.ppt_第1页
第8讲-函数-9-变量的存储类ppt课件.ppt_第2页
第8讲-函数-9-变量的存储类ppt课件.ppt_第3页
第8讲-函数-9-变量的存储类ppt课件.ppt_第4页
第8讲-函数-9-变量的存储类ppt课件.ppt_第5页
资源描述:

《第8讲-函数-9-变量的存储类ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第八讲函数——变量的存储类8.8局部变量和全局变量8.8.1局部变量内部变量:在一个函数内部定义的变量称内部变量。它只在本函数范围内有效,即:只有在本函数内才能使用这些变量,故称为“局部变量”。例:floatf1(inta)/*函数f1*/{intb,c;…/*a、b、c有效*/}charf2(intx,inty)/*函数f2*/{inti,j;/*x、y、i、j有效*/}voidmain()/*主函数*/{intm,n;…/*m、n有效*/}主函数中定义的变量只在主函数中有效,而不因为在主函数中定义而在整个文件或程序中有效。主函数也不能使用其他函数中

2、定义的变量。(2)不同函数中可以使用相同名字的变量,它们代表不同的对象,互不干扰。(3)形式参数也是局部变量。(4)在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效,这种复合语句也称为“分程序”或“程序块”。voidmain(){inta,b;…{intc;c=a+b;…}…}//a,b在此范围内有效//c在此范围内有效8.8.2全局变量外部变量:函数之外定义的变量称为外部变量。外部变量可以为本文件中其他函数所共用。它的有效范围为从定义变量的位置开始到本源文件结束。所以也称全程变量。intp=1,q=5;/*外部变量*/floatf1(int

3、a)/*定义函数f1*/{intb,c;…}charc1,c2;/*外部变量*/charf2(intx,inty)/*定义函数f2*/{inti,j;…}voidmain()/*主函数*/{intm,n;…}全局变量p,q的作用范围全局变量c1,c2的作用范围例8.15有一个一维数组,内放10个学生成绩,写一个函数,求出平均分、最高分和最低分。#includefloatMax=0,Min=0;//全局变量voidmain(){floataverage(floatarray[],intn);floatave,score[10];inti;fo

4、r(i=0;i<10;i++)scanf("%f",&score[i]);ave=average(score,10);printf("max=%6.2fmin=%6.2faverage=%6.2f",Max,Min,ave);}floataverage(floatarray[],intn){inti;floataver,sum=array[0];Max=Min=array[0];for(i=1;iMax)Max=array[i];elseif(array[i]

5、rray[i];}aver=sum/n;returnaver;}运行情况如下:100908587929583768478max=100.00min=76.00average=87.00建议:不必要时不要使用全局变量原因如下:①全局变量在程序的全部执行过程中都占用存储单元,而不是仅在需要时才开辟单元。②使用全局变量过多,会降低程序的清晰性。在各个函数执行时都可能改变外部变量的值,程序容易出错。③降低函数的通用性。因为函数在执行时要依赖于其所在的外部变量。如果将一个函数移到另一个文件中,还要将有关的外部变量及其值一起移过去。但若该外部变量与其他文件的变量同名时,就会出

6、现问题,降低了程序的可靠性和通用性。一般要求把C程序中的函数做成一个封闭体,除了可以通过“实参——形参”的渠道与外界发生联系外,没有其他渠道。例8.16外部变量与局部变量同名#includeinta=3,b=5;/*a,b为外部变量*/voidmain(){intmax(inta,intb);inta=8;/*a为局部变量*/printf("%d",max(a,b));}intmax(inta,intb)/*a,b为局部变量*/{intc;c=a>b?a:b;return(c);}运行结果为8局部变量a全局变量b形参a、b作用范围变量作用范围8.

7、9变量的存储类别8.9.1动态存储方式与静态存储方式从变量的作用域(即从空间)角度来分,可以分为全局变量和局部变量。从变量的存在的时间角度来分,又可以分为静态存储方式和动态存储方式。静态存储方式:指在程序运行期间由系统分配固定的存储空间的方式。动态存储方式:则是在程序运行期间根据需要进行动态的分配存储空间的方式。存储空间可以分为三部分:1.程序区2.静态存储区3.动态存储区变量和函数有两个属性:数据类型和数据的存储类别。存储类别指的是数据在内存中存储的方式。存储方式分为两大类:静态存储类和动态存储类。包含:自动的(auto)静态的(static)寄存器的(regi

8、ster)

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

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

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