欢迎来到天天文库
浏览记录
ID:61960741
大小:199.00 KB
页数:12页
时间:2020-02-25
《第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;i3、n>b[i])min=b[i];}8.9变量的存储类别内存中的用户存储区划分如下完整的变量定义形式存储类别数据类型变量标识符8.9变量的存储类别registerautostaticextern变量值存放在运算器的寄存器中变量值存放在主存储器的动态存储区变量定义若缺省存储类型,则默认为“auto”。变量值存放在主存储器的静态存储区;程序执行开始至结束,始终占用该存储空间;变量值存放在主存储器的静态存储区;程序执行开始至结束,始终占用该存储空间,其值可供其他源文件使用;举例:求程序运行结果main(){inta=2,i;clrscr();for(i=0;i<3;i++)printf4、("%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呢?
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呢?
此文档下载收益归作者所有