第7章-函数-模块化程序设计-预处理命令.pptVIP

第7章-函数-模块化程序设计-预处理命令.ppt

  1. 1、本文档共88页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * CPU由运算器、控制器和寄存器组成. * * 全局变量(外部变量)如果要在别的源文件中被使用的话,则需要在别的文件中用extern来声明外部变量,以此来说明这个变量是在别的文件中定义的全局变量。 * * * * * * * * * * * * * * * * * %p 是以16进制的形式输出内存地址? %x 也是以16进制的形式输出内存地址(整数) 不过%p的输出字符为8个前2个为00 %x只有6个 * * return语句后面没有表达式时,函数将不向调用者返回值,即返回值是void时可以用return;来返回函数 * * * Vc中: printf(“%d,%d\n”,i,i++); //按从左向右 printf(“%d,%d\n”,i, ++i); //按从右向左 * * * * * * * * * * * * * * * * * * * * * register(寄存器型)变量 CPU内有寄存器可用来存放数据,若把数据声明为寄存器类型,则将该类型的数据存放在寄存器中,其优点是:减少数据与内存之间的交换频率,提高程序的效率和速度。 C语言程序设计 第七章 函数 CPU 寄存器组 内存 例7.19 使用寄存器变量 #include stdio.h void main( ) { long fac(long); long i, n; scanf(“%ld”,n); for(i=1; i=n; i++) printf(“%ld != %ld\ n”, i, fac(i));} long fac(long n) { register long i, f=1; for(i=1; i=n; i++) f=f * i; return(f); } 运行结果: 1 ! = 1 2 ! = 2 3 ! = 6 4 ! = 24 5 ! = 120 寄存器类型变量的几点说明: 1. 局部自动变量类型和形参可定义为寄存器变量。 2. 由于CPU具有的通用寄存器数量有限,C程序中允许定义的寄存器类型的变量一般以2个左右为宜。超过的话,系统会自动将超过的变量设为自动型变量。 3. 局部静态变量不能定义为寄存器变量。 4. long,double,float不能设为register型,因为超过寄存器长度 5.现代编译器能自动优化程序,自动把普通变量优化为存储器变量,并且可以忽略用户的register指定,所以一般无须特别声明变量为register。 C语言程序设计 第七章 函数 用extern声明外部变量 外部变量也称全局变量,在函数外部定义,其作用域是从变量的定义处开始,到本程序文件的未尾。在定义的作用域内,全局变量可为程序中各个函数所引用。 可以用extern声明外部变量(注意不是定义,编译器不对其分配内存),以扩展外部变量的作用域。实际上,用extern声明的变量与其对应的外部变量是同一个变量,即外部变量。 C语言程序设计 第七章 函数 在一个文件内声明外部变量 外部变量没在文件开头定义,其作用域为定义处到文件结束。如果定义处之前的函数要使用变量,则在引用前用关键字extern作“外部变量声明”。 例8.20 用extern声明外部变量,扩展作用域 int max(int x, int y) { int z; z=xy ? x:y; return(z); } main( ) { extern int A,B; //A、B外部变量声明 printf(“%d”,max(A,B)); } int A=13,B=-8;//因定义位置在所用A、B变量之后,故必须在函数内进行extern声明。 运行结果: 13 可以省略为: extern A,B; 一般应将外部变量定义放在程序最前面,从而省去函数内extern声明 C语言程序设计

文档评论(0)

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

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

1亿VIP精品文档

相关文档