C语言_第7章_函数2.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言_第7章_函数2

* 变量的作用域及存储类型 局部变量和全局变量 动态存储变量和静态存储变量 局部变量的存储方式 全局变量的存储方式 * 定义全局变量中关键字的使用 用 static 定义静态全局变量 若在源文件的开头有: static int a 意味着该变量就只能在本文件中使用。 若 static 缺省,则使用范围扩大到组成程序的所有C源文件。 用 extern 说明全局变量 若在源文件的开头有: extern int a 意味着该变量在其它文件中定义,在本文件中被使用。 * 全局变量 外部变量是全局变量 静态外部变量(静态全局变量) 限定只能在本文件内使用的外部变量 用static声明 非静态外部变量(全局变量) 其作用域还可以推广到其它文件中使用,只需要在其它文件中对该外部变量进行说明即可。 不用static; 可以用extern声明外部变量,以扩展外部变量的作用域; * 全局变量给程序设计带来诸多弊病: (1) 降低程序的清晰度 (2) 降低函数的灵活性 (3) 降低存储空间的利用率 适当使用! * 系统处理程序时: (2) 动态局部变量分配在局部动态数据区 (3) void main函数是所有c程序的执行入口程序。 (4) void main函数中的变量也是局部变量。 静态数据区 动态数据区 a b d a c b (1) 全局变量和静态局部变量分配在静态数据区; * 存储类别小结 从作用域角度分,有局部变量和全局变量。它们采用的存储类别如下: 局部变量包括: 自动变量、 静态局部变量、寄存器变量。 形式参数可以定义为自动变量或寄存器变量 全局变量包括: 静态外部变量、外部变量 * (2)从变量存在的时间来区分,有动态存储和静态存储两种类型。静态存储是程序整个运行时间都存在,而动态存储则是在调用函数时临时分配单元。 动态存储 :自动变量、寄存器变量、形式参数 静态存储:静态局部变量、静态外部变量、外部变量 * (3) 从变量值存放的位置来区分,可分为: 内存中静态存储区: 静态局部变量、静态外部变量、外部变量 内存中动态存储区: 自动变量和形式参数 CPU中的寄存器:寄存器变量 * (4) static对局部变量和全局变量的作用不同。 对局部变量来说,它使变量由动态存储方式改变为静态存储方式。 而对全局变量来说,它使变量局部化,但仍为静态存储方式。 从作用域角度看,凡有static声明的,其作用域都是局限的,或者是局限于本函数内,或者局限于本文件内。 * * 第7章 函数 * 本章要点 函数的概念 函数的定义与调用 变量的作用域 函数的嵌套调用 函数的递归调用 本节内容 * 变量的作用域及存储类型 局部变量和全局变量 动态存储变量和静态存储变量 局部变量的存储方式 全局变量的存储方式 * 变量的存储方式和生存期 从变量的作用域(即从空间)角度来分,可以分为全局变量和局部变量。 从变量值的生存期(即存在的时间)角度来分,又可以分为静态存储方式和动态存储方式。 * 从变量的作用域来认识变量 ——局部变量和全局变量 可引用变量的范围 * 1、变量的作用域--局部变量和全局变量 在一个函数内部定义的变量是内部变量,它只在本函数范围内有效,也就是说只有在本函数内才能使用它们,在此函数以外是不能使用这些变量的。这称为“局部变量”。 * 1、变量的作用域--局部变量和全局变量 在函数内定义的变量是局部变量,而在函数之外定义的变量称为外部变量,外部变量是全局变量(也称全程变量)。全局变量可以为本文件中其他函数所共用。它的有效范围为从定义变量的位置开始到本源文件结束。 引例:局部变量的作用域举例—交换两个变量的值 引例:全局变量的作用域举例—分析下面程序运行结果 * 局部变量 局部变量定义: 定义在函数内或在{ }内的变量,称为局部变量。 有效范围:在所定义的函数、复合语句中。 变量的作用范围仅仅局限在从变量定义处开始、到变量定义所在的那个函数或复合语句结束。 函数的形式参数为局部变量。 * 局部变量举例 float f1(int a) { int b,c; … } int f2(int x,int y) { int b,c,i,j; …} 形参是局部变量 main函数的变量也是局部的; 不同函数中变量的名字可以相同; 复合语句内可以定义变量; a,b,c有效 x,y,b,c,i,j有效 * 局部变量举例 int main() { int m,n; { int k …} ...} 形参是局部变量

文档评论(0)

wnqwwy20 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档