第7章函数讲述.ppt

  1. 1、本文档共73页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
库函数 库函数:存放在函数库中的函数 库函数具有明确的功能、入口调用参数和返回值 函数库是由系统建立的具有一定功能的函数的集合。库中存放函数的名称和对应的目标代码,文件扩展名为.lib 提示 不同版本的C语言具有不同的库函数,用户使用时应查阅有关版本的C的库函数参考手册。比如ANSI标准定义了C语言的标准库函数,如数学类函数(math)、输入输出类(stdio)、字符处理类函数(string)、图形类函数(graphics)和时间日期类函数(time)等等。 头文件 头文件(又称包含文件) 声明了函数库中所有函数的函数原型,即说明了C语言库函数与用户程序之间进行信息通信时要使用的数据和变量。文件扩展名为.h,使用库函数时,必须用#include对应该函数所在头文件。格式: #include “头文件”或 #include 头文件 函数声明 在一个小程序的开发过程中,一般将所有函数的声明放在源程序的开始位置,适用于单文件结构。 当开发大的程序时,一般将所有公用函数的声明保存在独立的头文件(.h)中,然后通过#include指令将函数声明包含到当前文件中。适用于多文件结构。 参数传递 2、传址 特点 处理数据在主调函数和被调函数中占用相同的存储空间 形参和实参所指向的地址是同一个地址 对形参的操作会直接影响到实参的结果 此种方式既可以实现外部数据向函数内部的传递,也可以实现加工后的数据从函数内部向主调函数的传递 参数传递 数组作函数参数 两种方式 数组中的元素作函数的参数 数组名作函数的参数 例:int a[5]; 参数传递 数组元素作函数的参数 采用传递普通变量一样的方式 以单个元素的方式实现数组元素的传递 必须在主调函数内定义数组,并赋值 实参与形参之间是“值传递”的方式 例:求一维数组a[4]的所有元素之和 参数传递 数组名作参数 数组名作函数的参数,必须遵循以下原则 参数形式 数组定义要在主调函数和被调函数中分别定义 形参数组可以不指明长度 ,但不能省略[ ]。如果是二维数组,可以省略第一维的长度,但第二维的长度不能省略。 实参数组名将该数组的起始地址传递给形参数组,两个数组共享一段内存单元。 参数传递 分析:形参是数组名str,实参是数组名string。调用时,实参数组将首地址string 赋值给形参数组str,两个数组共同占用相同的内存单元,共享数组中的数据,即string[0]与str[0]代表同一个元素。 课堂练习 下面程序的输出结果是( ). #includestdio.h int fun(int x[ ],int n) { int i, s=1; for(i=0; i=n; i++) s*=x[i]; return s; } main() { int a[ ]={1,2,3,4,5,6}; int x=fun(a,4 ); printf(“%d”,x); } A. 24 B. 120 C. 720 D.5 内部函数与外部函数 外部函数 可被其他源文件中的函数调用。 定义格式: [extern] 函数类型 函数名(形参表) 其他源文件中调用该函数前要先进行函数原型说明。 内部函数 只能被本文件中的函数调用。又称为静态函数。 定义格式: static 函数类型 函数名(形参表) 在不同文件中可以定义相同名称的内部函数。 7.6 程序结构 单文件单函数结构 单文件多函数结构 多文件多函数结构 程序中的各种变量都有一个在需要时被创建,而在不需要时被删除的过程。在创建和删除之间所经过的时间就被称为生命期。 系统开机后,内存被分为两大块。一块是系统区,存放操作系统等内容,另一块是用户区,用来存放要运行的用户程序。当一个C程序运行时,C程序在用户区被分为三部分。 程序区 静态存储区 动态存储区 全局变量、局部静态变量 形参变量 局部动态变量(auto register) 函数调用现场保护和返回地址等 用来存放C程序代码 7.5.3 生命期 ⑴ 自动的(auto)存储方式(缺省方式) 局部变量,如不作专门说明,都存放在堆栈区。存储在动态存储区中。这种变量只在定义它们的时候才创建,在定义它们的函数返回时系统回收变量所占存储空间。对这些变量存储空间的分配和回收是由系统自动完成的,所以叫自动变量。自动变量也可用关键字auto作出说明。 从生命期的角度看,变量可分为静态存储变量和动态存储变量。存储类型:自动的(auto)、静态的

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档