网站大量收购闲置独家精品文档,联系QQ:2885784924

C语言课件八函数.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言课件八函数

8.9 变量的存储类别 3)寄存器变量(register):局部变量 注意: 只有局部自动变量和形式参数可作为 是寄存器变量;静态变量和全局变量 均不行。 2.局部变量的存储方式 特点: 速度快,一般把使用频率较高的变量 定义为寄存器变量。 定义式:[ register ] 数据类型 变量名表 例8.18 打印 1 到 5 的阶乘值。 int fac(n) int n; { static int f =1; f = f ? n ; return( f ); } main( ) { int i; for (i=1; i=5; i++) printf(“%d!=%d\n”, i, fac(i)); } f 被定义为静态变量, “f = 1 ;” 的初始在 fac(n) 第一次被调用时进行。随后无论 fac(n) 函数被调用多少次也不会再进行 初始化,且 f 被修改的值一直保留至本源 程序运行结束为止,在本函数外不可使用 f 的初值 1 1 2 6 24 调用次序 1 2 3 4 5 3.全局变量的存储方式 在文件开头用extern作说明,可以引用另一个文件 中定义的全局变量。但用static说明的全局变量不能被 其它文件引用。 int m=1,n=4; float f1(a) int a; { int b,c; … …} char ch1,ch2; char f2(x,y) int x,y; { int k,j; … …} main( ) {extern int p,q; … … } 例: 外部变量 定义函数f1 全局变量 定义函数f2 外部变量 全局变量的作用范围: 在文件开头定义的外部变量,在整个文件中均可以引用; 不在文件开头定义的外部变量,从定义点到 文件结束。 设置全局变量的作用: 增强函数间的联系渠道; 使用全局变量可以减少函数实参和形参的个数 一个源文件中,外部变量与局部变量重名时,则全局变量应扣除去局部变量所在的函数范围。 全局变量的使用降低了程序的通用性,一般建议不必要时不用全局变量。 int m=1,n=4; float f1(a) int a; { int b,c; … …} char ch1,ch2; char f2(x,y) int x,y; { int k,j; … …} main( ) {extern int p,q; … … } 例: 可使用m和n和两个全局变量;a、b和c三个局部变量 可使用m、n、p、q、ch1和ch2六个全局变量 可使用m、n、p和q四个全局变量;x、y、k和j四个局部变量 File1.c Int a; Main() { …… } File2.c extern int a; func(n) int n { …… a=a*n;} 虽然在file2.c 对“a”用extern 说明了,但也不能引用file1.c中的“a”,还需在extern int a;之前加上: #include “file1.c” 或在file1.c中的 int a; 之前加上:#include “file2.c” 8.10 内部函数和外部函数 就函数的本质而言都是全局的。但根据其是否能被 其它文件所调用,将它们区分为内部函数和外部函数。 1.内部函数 如果一个函数只能被本文件的其它函数所调用,则将它 称为内部函数。可以用“static”将函数定义为内部函数。 如: static int fun(a, b); 同静态变量一样,内部函数只局限于本文件内使用, 因而不会和其它文件中的同名函数发生冲突。 2.外部函数 在定义函数时,如果在其类型说明前冠以extern, 则表示此函数为外部函数。 如: extern int fun(a, b); 外部函数可以被其它文件所使用。如果省略extern, 则隐含该函数为外部函数。 * 第 8 章 函数 8.1 概述 8.2 函数定义的一般形式 8.3 函数参数和函数的值 8.4 函数的调用 8.5 函数的嵌套调用 8.6 函数的递归调用 8.7 数组作为函数参数 8.9 变量的存储类别 8.10 内部函数和外部函数 8.8 局部变量和全局变量 在进行程序

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档