C程序设计08-变量的作用域及存储类别.ppt

C程序设计08-变量的作用域及存储类别.ppt

ID:56430669

大小:1003.50 KB

页数:37页

时间:2020-06-18

C程序设计08-变量的作用域及存储类别.ppt_第1页
C程序设计08-变量的作用域及存储类别.ppt_第2页
C程序设计08-变量的作用域及存储类别.ppt_第3页
C程序设计08-变量的作用域及存储类别.ppt_第4页
C程序设计08-变量的作用域及存储类别.ppt_第5页
资源描述:

《C程序设计08-变量的作用域及存储类别.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第八章变量的作用域和存储类别主要内容变量的作用域一同名变量的辨析二变量的存储类别和生存期三变量作用域和生存期小结四1第一节变量的作用域局部变量12本节主要内容全局变量332变量的作用域:允许使用变量的区域依照变量作用域的不同,可以把变量分为两种:变量全局变量局部变量第一节变量的作用域3局部变量:在大括号内定义的变量局部变量的作用域:局部变量只能在定义它的括号内使用,其作用范围不能向括号外渗透(可以向内层括号中渗透)。在函数体开头定义的,在本函数内有效在复合语句中定义的,则只在复合语句中有效8.1.1局部变量48.1.1局部变量intmain()/*指出程序

2、中的错误*/{inta,b;scanf(“%d%d”,&a,&b);{intc;c=a+b;}printf(“c=%d”,c);printf(“a=%d,b=%d”,a,b);return0;}错误!应移入复合语句内移入复合语句内,可否?5说明:即便是在主函数中定义的变量,也不能被其它函数使用形式参数也是局部变量(与函数内定义的相同)不同函数中定义的变量可以同名,但表示的不是同一变量,它们在内存中占用不同的单元8.1.1局部变量68.1.2全局变量m,n的作用域x,y的作用域全局变量:在函数外定义的变量,又叫外部变量全局变量的作用域:从定义处到源文

3、件结束如:intx,y;/*定义在函数外*/intmain(){……}f1(){……}intm,n;/*定义在函数外*/f2(){……}f3(){……}78.1.2全局变量全局变量的作用域可以扩展(1)在本源文件中扩展,如:intx,y;externm;/*变量声明,可以不写类型*/intmain(){……}f1(){……}intm,n;f2(){……}f3(){……}扩展后m的作用域m原本的作用域88.1.2全局变量全局变量的作用域可以扩展(2)扩展到其他源文件,如:m的作用域//源文件2externm;intf4(){……}floatf5(){……}v

4、oidf6(){……}//源文件1intx,y;intmain(){……}f1(){……}intm,n;f2(){……}f3(){……}98.1.2全局变量全局变量的作用域可以扩展(3)如果不想让其他源文件使用,可以在定义时加上static进行限制//源文件2externm;intf3(){……}voidf4(){……}voidf5(){……}//源文件1staticintm;intmain(){……}voidf1(){……}intf2(){……}//源文件3intm;floatf6(){……}voidf7(){……}intf8(){……}108.1.2全

5、局变量全局变量的作用:给多个函数提供一个公共场所,便于函数之间交换数据全局变量的适用场合:有些情况下,主调函数需要被调函数提供两个以上的值,如:在若干数据中找出最大值和最小值而函数只能有一个返回值118.1.2全局变量voidmax_min(intx,inty){inti;for(i=x;i<=x*y;i+=x)if(i%y==0){min=i;break;}max=x*y/min;}#includeintmax,min;voidmax_min(int,int);intmain(){inta,b;scanf(“%d%d”,&a,&b);m

6、ax_min(a,b);printf(“%d,%d”,max,min);return0;}求两个数的最小公倍数和最大公约数128.1.2全局变量全局变量的优缺点:优点:一个函数将值放入全局变量,其他函数都可以使用,从而增加了函数间的联系缺点:占内存时间长函数之间互相影响,增加了函数间耦合性除非必要,一般不用全局变量问题:全局变量可否作参数?13第二节同名变量的辨析局部变量和全局变量同名时的分辨inta=1,b=2,c=3,d=4;intmain(){inta,b;a=4;/*局部变量*/b=5;/*局部变量*/c=6;/*全局变量*/if(a>b){i

7、ntc;c=a;/*c是复合语句级,a是函数级*/a=b;/*a,b都是函数级*/b=d;/*b是函数级,d是全局*/}……}14第三节变量的存储类别和生存期内存区域的划分123本节主要内容3局部变量的种类333全局变量的种类15第三节变量的存储类别和生存期内存区域的划分123本节主要内容3局部变量的种类333全局变量的种类168.3.1内存区域的划分堆区代码区非零区零区栈区动态存储区静态存储区全局变量静态局部变量自动变量函数形参临时变量17第三节变量的存储类别和生存期内存区域的划分123本节主要内容3局部变量的种类333全局变量的种类188.3.2局部变

8、量的种类局部变量根据生存期不同,又分为局部自动变量和局部静态变量局

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

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

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