第8章函数-变量及存储类别(2学时).ppt

第8章函数-变量及存储类别(2学时).ppt

ID:61960741

大小:199.00 KB

页数:12页

时间:2020-02-25

第8章函数-变量及存储类别(2学时).ppt_第1页
第8章函数-变量及存储类别(2学时).ppt_第2页
第8章函数-变量及存储类别(2学时).ppt_第3页
第8章函数-变量及存储类别(2学时).ppt_第4页
第8章函数-变量及存储类别(2学时).ppt_第5页
资源描述:

《第8章函数-变量及存储类别(2学时).ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、计算机程序设计变量及存储类别之信息科学与工程学院计算机系赵秀岩(副教授)温故函数的定义函数的声明函数的参数和函数的值函数的调用数组名作函数的参数8.8局部变量和全局变量局部变量(内部变量):在函数内定义的变量(或者是在复合语句中定义的变量)。是私有的,作用域是定义开始到本函数结束。全局变量(外部变量):函数外部定义的变量,称外部变量。作用域是从定义的位置开始到本文件结束。举例inta=3,b=5;max(intx,inty){intc;c=x>y?x:y;returnc;}main(){inta=8;printf("%d",max(a,b));}作用域:全局变量:a和b局部

2、变量:x,y,c局部变量:a几点注意:函数内定义的变量,只能在本函数内使用形参变量和实参变量是属于不同函数的局部变量不同的函数中允许同名变量在复合语句中也可定义变量局部变量与全局变量同名,函数内局部变量有效。举例intmax=0,min=0;main(){inta[10]={0,1,2,7,9,8,5,6,3,4};maxmin(a,10);printf("max=%d,min=%d",max,min);}intmaxmin(intb[],intn){inti;max=min=b[0];for(i=1;i

3、n>b[i])min=b[i];}8.9变量的存储类别内存中的用户存储区划分如下完整的变量定义形式存储类别数据类型变量标识符8.9变量的存储类别registerautostaticextern变量值存放在运算器的寄存器中变量值存放在主存储器的动态存储区变量定义若缺省存储类型,则默认为“auto”。变量值存放在主存储器的静态存储区;程序执行开始至结束,始终占用该存储空间;变量值存放在主存储器的静态存储区;程序执行开始至结束,始终占用该存储空间,其值可供其他源文件使用;举例:求程序运行结果main(){inta=2,i;clrscr();for(i=0;i<3;i++)printf

4、("%8d",f(a));}f(inta){intb=0;staticintc=3;b++;c++;returna+b+c;}举例:求程序运行结果main(){intk=8,m=1,p;clrscr();p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d",p);}func(inta,intb){staticintm=0,i=2;i+=m+1;m=i+a+b;returnm;}思考:如果把func函数中的static删除,结果是多少?变量的扩展声明“extern”voidnum(){externintx,y;inta=18,b=

5、10;x=a-b;y=a+b;}intx,y;main(){inta=7,b=8;x=a+b;y=a-b;num();printf("%d,%d",x,y);}【讨论】如果第二行不加上extern呢?

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

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

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