C程序设计教程课件谭浩强第7章函数2章节幻灯片.pptVIP

C程序设计教程课件谭浩强第7章函数2章节幻灯片.ppt

  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语言允许将局部变量的值放在CPU中的寄存器中,需要用时直接从寄存器取出参加运算,不必再到内存中去存取。由于对寄存器的存取速度远高于对内存的存取速度,因此这样做可以提高执行效率。这种变量叫做寄存器变量,用关键字register作声明。 7.9 变量的存储方式和生存期 7.9.1 局部变量的存储类别 说明:三种局部变量的存储位置是不同的:自动变量存储在动态存储区;静态局部变量存储在静态存储区;寄存器存储在CPU中的寄存器中。 7.9 变量的存储方式和生存期 7.9.2 全局变量的存储类别 全局变量都是存放在静态存储区中的。因此它们的生存期是固定的,存在于程序的整个运行过程。 一般来说,外部变量是在函数的外部定义的全局变量,它的作用域是从变量的定义处开始,到本程序文件的末尾。在此作用域内,全局变量可以为程序中各个函数所引用。但有时程序设计人员希望能扩展外部变量的作用域。 方法有以下几种: 1. 在一个文件内扩展外部变量的作用域 例7.19调用函数,求3个整数中的大者。 #include stdio.h void main() {int max( ); /* 函数声明 */ extern int A,B,C; /* 外部变量声明 */ printf(Please enter three integer numbers:); scanf(%d %d %d,A,B,C); /* 输入外部变量的值 */ printf(max is %d\n,max()); } 1. 在一个文件内扩展外部变量的作用域 int A ,B ,C; /* 定义外部变量 */ int max( ) {int m; m=AB?A:B; if (Cm) m=C; return(m); } 运行结果为: Please enter three integer numbers:34 –21 78↙ max is 78 2.将外部变量的作用域扩展到其他文件 #include stdio.h int A; /*定义外部变量*/ void main() {int power(int); /*函数声明*/ int b=3,c,d,m; printf(″enter the number a and its power m:\n″); scanf(″%d,%d″,&A,&m); c=A*b; printf(″%d*%d=%d\n″,A,b,c); d=power(m); printf(″%d**%d=%d\n″,A,m,d); } 例7.20 用extern将外部变量的作用域扩展到其他文件。本程序的作用是给定b的值,输入a和m,求a×b和am的值。文件file1.c中的内容为: 文件file2.c中的内容为: extern A; /*声明A为一个已定义的外部变量*/ int power(int n); {int i,y=1; for(i=1;i<=n;i++) y*=A; return(y); } 3. 将外部变量的作用域限制在本文件中 在程序设计中,某些外部变量只限于被本文件引用,而不能被其他文件引用。这时可以在定义外部变量时加一个static声明。 例如: file1.c file2.c static int A; extern int A; void main ( ) void fun (int n) { {… … A=A*n; } 7.9.2 全局变量的存储类别 用static 声明一个变量的作用是: (1) 对局部变量用static声明,把它分配在静态存储区,该变量在整个程序执行期间不释放,其所分配的空间始终存在。 (2) 对全局变量用static声明,则该变量的作用域只限于本文件模块(即被声明的文件中)。 注意:用auto、register、static声明变量时,是在定义变量 的基础上

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档