C++函数、递推、递归.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文档。上传文档
查看更多
大连理工大学 盘锦校区基础教学部 * 第九讲——函数、递推、递归 在多文件程序中声明外部变量 外部变量声明 分析下例: file1.cpp extern int a,b; int main( ) {couta″,″bendl; return 0; } 注意: file2.cpp int a=3,b=4; ┆ extern 是用作变量声明,而不是变量定义。它只是对一 个已定义的外部变量作声明,以扩展其作用域。 第六十二页,编辑于星期一:十七点 五分。 大连理工大学 盘锦校区基础教学部 * 第九讲——函数、递推、递归 用extern扩展全局变量的作用域,虽然能为程序设 计带来方便,但应十分慎重,因为在执行一个文件中的 函数时,可能会改变了该全局变量的值,从而会影响到 另一文件中的函数执行结果。 第六十三页,编辑于星期一:十七点 五分。 大连理工大学 盘锦校区基础教学部 * 第九讲——函数、递推、递归 用static声明静态外部变量 有时在程序设计中希望某些外部变量只限于被本文 件引用,而不能被其他文件引用。这时可以在定义 外部变量时加一个static声明。例如: file1.cpp static int a=3; int main ( ) { ┆ file2.cpp extern int a; int fun (int n) { ┆ a=a*n; ┆ } } 第六十四页,编辑于星期一:十七点 五分。 大连理工大学 盘锦校区基础教学部 * 第九讲——函数、递推、递归 这种加上static声明、只能用于本文件的外部变量 (全局变量)称为静态外部变量。这就为程序的模块化、 通用性提供了方便。如果已知道其他文件不需要引用本 文件的全局变量,可以对本文件中的全局变量都加上 static,成为静态外部变量,以免被其他文件误用。 需要指出,不要误认为用static声明的外部变量才采 用静态存储方式(存放在静态存储区中),而不加 static的是动态存储(存放在动态存储区)。实际上, 两种形式的外部变量都用静态存储方式,只是作用范围 不同而已,都是在编译时分配内存的。 第六十五页,编辑于星期一:十七点 五分。 大连理工大学 盘锦校区基础教学部 * 第九讲——函数、递推、递归 存储期和作用域 第六十六页,编辑于星期一:十七点 五分。 大连理工大学 盘锦校区基础教学部 * 第九讲——函数、递推、递归 变量的声明和定义 关于声明和定义: 针对函数而言,函数的声明是函数的原型,而函数的 定义是函数功能的建立; 在声明部分出现的变量有两种情况:一种是需要建立 存储空间的(如 int a );另一种是不需要建立存储 空间的(extern int a ); 前者称为定义性声明,或简称定义; 后者称为引用性声明; 第六十七页,编辑于星期一:十七点 五分。 大连理工大学 盘锦校区基础教学部 * 第九讲——函数、递推、递归 为叙述方便,把建立存储空间的声明称为定义; 如: int a; 而把不需要建立存储空间的声明称为声明; 如: extern int a; 第六十八页,编辑于星期一:十七点 五分。 大连理工大学 盘锦校区基础教学部 * 第九讲——函数、递推、递归 外部变量定义和外部变量声明的含义是不同的。外 部变量的定义只能有一次,它的位置在所有函数之外, 而同一文件中的外部变量的声明可以有多次,它的位置 可以在函数之内,也可以在函数之外。系统根据外部变 量的定义分配存储单元。对外部变量的初始化只能在定 义时进行,而不能在声明中进行。所谓声明,其作用是 向编译系统发出一个信息,声明该变量是一个在后面定 义的外部变量,仅仅是为了提前引用该变量而作的声明。 extern只用作声明,而不用于定义。 第六十九页,编辑于星期一:十七点 五分。 大连理工大学 盘锦校区基础教学部 * 第九讲——函数、递推、递归 用static来声明一个变量的作用有二: (1)对局部变量用static声明,使该变量在本函数调用结 束后不释放,整个程序执行期间始终存在,使其存储 期为程序的全过程。 (2)全局变量用static声明,则该变量的作用域只限于本 文件模块(即被声明的文件中)。 第七十页,编辑于星期一:十七点 五分。 大连理工大学 盘锦校区基础教学部 * 第九讲——函数、递推、递归 内部函数和外部函数 函数本质上是全局的,因为一个函数要被另外的函 数调用,但是,也可以指定函数只能被本文件调用, 而不能被其他文件调用。 根据函数能否被其他源文件调用,将函数区分为内 部函数和外部函数。 第七十一页,编辑于星期一:十七点 五分。 大连理工大学 盘锦校区基础教学部 * 第九讲——函数、递推、递归 内部函数 如果一个函数只能被本文件中其他函数所调用,它称为 内部函数。在定义内部函数时,在函数

文档评论(0)

美丽花 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档