函数调用函数定义.ppt

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

求Fibonacci数列第i项的值。(1-17.c) Fibonacci数列:0,1,1,2,3,5,8,13,… float f1 (int x) {extern int a, b; ? } int a=0; b= –1 main ( ) { ? } a, b作用域 例: 例:分析m作为全局变量和局部变量在程序中各个部分时的值。(1-12.c ?) int m=13; int fun(int x, int y) {int m=3; printf(m1=%d\n,m); return(x*y-m); } main() {int a=6,b=7; printf(m2=%d\n,m); printf(%d\n,fun(a,b)/m); } m x, y a, b 全局变量m的作用范围 二、 变量的存储类型 1、变量的存储类型 程序区 静态存储区 动态存储区 数据,变量存放 内存分配 说明变量占用存储空间的区域。 静态存储变量: 存放于静态存储区,在程序整个运行过程中,始终占据固定的内存单元。 动态存储变量: 存放于动态存储区,根据程序的运行状态(如:函数调用)而临时分配的单元,且单元并不固定。 常用的变量存储类型有三种: 2. 静态(static)型 3. 外部(extern)型 1. 自动 (auto)型 局部变量既可以静态方式 , 又可以动态方式存储。 动态方式: auto int a, b; 2、局部变量存储形式 则: a, b为自动型,存入动态区。在该函数被调用时才分配单元,函数调用结束时释放。 auto一般省略。以前用到的变量均为auto型, (除加static说明的之外)。 在变量初始化方面,auto型变量在每次函数调用时都赋一次初值。其默认初值不确定。 例:auto型变量的初始化 (1-13-0.c ? ) 在变量初始化方面,静态局部变量是在第一次调用函数时赋初值的,且只赋一次初值。默认初值为0。 则: a, b存入静态区。 函数中的a, b始终占据固定存储单元。 静态方式: static int a, b; 如果希望在函数调用结束后仍然保留函数中的局部变量的值,则可以把该变量定义为静态局部变量。 例:static局部变量的初始化 (1-13-0.c ? ) 例:求n! (1-13.c ?) 2、全局变量存储形式 在函数外部中定义,它们一定存放在静态存贮区中。 全局变量既可被本文件中各函数用,亦可被其它源文件中的函数引用。 (1) 只被本文件中的函数引用 全局变量本身一定是存放在静态区的。但若加上 static. 即: static int a, b; float f1(x) int {? } 则表明a,b只被本文件中各函数引用,即使与其它文件中的全局变量同名,也互不影响。 (2) 可被其它文件中的函数引用(外部类型,默认) int a; main( ) { ? } extern int a; fac(x) int x { ? z=a?? ? } 文件f1.c 文件f2.c用到f1.c 中的a f2.c中的extern在函数外说明,在函数内说明已叙述过。 总结 存储类别 函数内 函数外 作用域 存在性 作用域 存在性 auto ? ? ? ? static 局部 ? ? ? ? static 全局 ? ? ? ? ? ? ? ? 不加 static 全局(外部) (只限本文件) 例:静态局部变量的作用域与存在性 (1-13-1.c ?) 1.3 内部函数与外部函数 函数本身在一个文件中为全局的。即函数可被其所在文件的所有其它函数引用。 一、内部函数–––只能在本文件中调用 但函数能否被其它文件中的函数所引用呢? 为此分为: 内部函数、外部函数 static 类型标识符 函数名(形参表) 例: static int max (int a, int b) {

文档评论(0)

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

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

1亿VIP精品文档

相关文档