第8章的 函 数.ppt

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

三 、 用static声明的局部变量 有时希望函数中的局部变量值在函数调用后不消失而保留原值,即其占据的存储单元不释放,这时就应指定该变量为“静态局部变量”,用关键字static来声明. 例:静态局部变量的使用 #include stdio.h int main( ) { int f(int); int a=2,i; for(i=0;i3;i++) printf(“%d “,f(a)); } int f(int a ) { auto int b=0; static int c=3; b=b+1; c=c+1; return(a+b+c); } 对静态局部变量的说明: (1) 静态局部变量分配在静态存储区,在程序整个运行期 间都不释放. 而自动变量分配在动态存储区,函数调用 结束即释放. (2) 对静态局部变量是在编译时赋初值的,即只赋初值一 次,在程序运行期间它已有初值.以后每次调用时不再重 新赋初值而只是保留上次函数调用结束时的值; 而自动 变量赋初值是在函数调用发生后进行的. (3) 定义局部变量时不赋初值的话,对于静态局部变量,编 译时自动赋初值0或空字符. 对自动变量来说,不赋初值 它的值是不确定的. (4) 虽然静态局部变量在函数调用结束后仍然存在,但其 它函数是不能引用的. 四、 用register声明的变量 如果有些变量使用频繁,为节省程序运行时间,可 设置该变量为寄存器变量. 对寄存器变量的说明: (1) 只有局部自动变量和形参可作为寄存器变量. (2) 一台计算机中的寄存器数量有限,不能定义太多寄存 器变量. 五、用extern声明外部变量 外部变量是在函数外部定义的全局变量,其作用域 是从变量的定义处开始到本文件结束 . 如果需要扩展全局变量的作用域,使用extern. 1. 在一个文件内声明外部变量. 如果外部变量不在文件头声明,在其定义点前的函 数想引用该变量,则需在使用前用extern来声明. void main( ) { int max(int ,int); extern A,B; printf(“%d\n”,max(A,B)); } int A=13,B=-8; int max(int x,int y) { int z; z=xy?x:y; return(z) } 2. 在多文件程序中声明外部变量. 如果一个程序包含两个文件,两个文件要用到同一个 变量,不能分别在两个文件中分别定义,否则会出现重复 定义错误. 正确办法是在一个文件中定义外部变量,在另 一个文件中用extern声明该变量为外部变量. 五、用static声明外部变量 如果希望某些外部变量只限于本文件使用,而不能 被其它文件引用,此时应用static声明该变量为静态外部 变量 . 如果一个函数只能被本文件的其它函数调用,称其 为内部函数.定义内部函数时在函数首部最前面加static 声明即可. 8.6 内部函数和外部函数 一、内部函数 定义一个函数时,如果在函数首部最前面加extern, 则表示此函数是外部函数,可以被其它文件的函数调用. 在需要引用此函数的文件中,用extern对函数作声 明,表示该函数是在其它文件中定义的外部函数. 二、外部函数 思考和练习: 1、掌握C程序结构 2、掌握函数的定义,函数参数,返回值等的应用 3、掌握局部变量、全局变量的定义及使用 4、掌握变量的存储类别 5、了解内部函数和外部函数 6、P202 1、9、10、17 C程序设计 第三版 第8章 函 数 第8章 函 数 本章内容: C程序结构 函数定义 函数参数和函数值 函数调用(嵌套,递归) 局部变量和全局变量 变量的存储类别 内部函数和外部函数 8.1 C程序结构概述 一个C程序可由一个主函数和若干个其它函数构成 ,一个较大的程序可分为若干个程序模块,每一个模块 用来实现一个特定的功能,在高级语言中用子程序实现 模块的功能。C程序中子程序由函数来完成。 函数间的调用关系:由主函数调用其它函数,其它函 数也可以互相调用。同一个函数可以被一个或多个函数 调用任意多次。 C程序结构见图8.1 图8-1 C程序结构 例8.1 先举一个函数调用的简单例子 # include stdio.h int main() { void print

文档评论(0)

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

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

1亿VIP精品文档

相关文档