第七章数组、指针、函数的应用简介.pptVIP

第七章数组、指针、函数的应用简介.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
前几章中,我们分别系统地描述了有关数组、指针、函数的基本概念及内容,现在此基础上,我们将进一步讲述它们相互结合的应用形式与基本功能。 本章重点讲述在函数间利用数组与指针传递数据的机理与形式,其次,讲授函数与指针相结合的函数指针与指针函数,它们较难以掌握,我们只作一般了解,数组指针与指针数组是指针与数组相结合的形式,它们应具有两者的特征,我们应根据它们的特征,进一步掌握它们的应用,尤其是主函数main的带参形式在命令行参数中的使用,是一种较典型的用法;还有单向链表,它是指针与结构相结合的一种简单应用,是《数据结构》课程的基础。 本章建议课堂讲授8学时,上机4~8学时,自学8学时。 7.1 概述 7.1 概述 在C语言程序中,不论程序大小,主要是由函数和变量组成的,函数出现的次数可以是任意的,且是相互独立的。而函数之间或函数与外部变量之间存在着必然的数据联系,这种联系是通过函数间的数据传递建立的,如外部变量或程序中的数据可传递给函数内部;函数内部加工过的数据或函数返回值又可传递给外部变量或外部程序…,这种函数间数据通讯就体现着函数的应用。 函数间的数据传递方式有三种:实、形参结合,函数返回值和外部变量。 数据的传递必须有传递方和接受方,当某些数据要传递时,必须在某函数中通过对另一函数的调用形式来表现,则某函数就是传递方,也称之为主调函数,另一函数调用形式中含有能肩负传递某些数据的参数表,称之为实参表,在调用另一函数之前,实参表中的每个参数都必须具有实参值,那么,另一个定义函数就是接受方,也称被调函数,在函数定义中必须有能接受传递过来的参数表,称之形参表,其形参的个数、类型、顺序原则上应与实参表中一致。 被调函数中所有形参及函数体中的变量在主调函数中执行函数调用时,系统才临时给它们分配存储空间,并转向执行被调用的函数,一旦被调函数执行完毕,其相应的所有存储空间被释放,再转回主调函数的调用处。 被调函数执行完毕转向主调函数的调用处,可以带回该函数的返回值,也可能没有,依实际需要而定。 函数调用并不都具有参数,也有一种无参传递的函数调用与函数定义形式,其作用表现在两方面: ⑴ 被调函数可以独立完成所需功能,与主调函数无关。例如: fun() { int a=3,b=5; printf(“%d\n”,a*b); /* 被调函数完成输出任务 */ } main() { fun(); } (2)作为用户应用系统中的一个活动接口,便于今后系统功能的扩充。例如: main() { int i; printf(“1.输入 2.查询 3.统计 4.维护 5.其他 6.退出\n”); printf(“ 请选择:”); scanf(“%d”,i); switch(i) { case 1: fun1(); break; case 2: fun2(); break; case 3: fun3(); break; case 4: fun4(); break; case 5: fun5(); break; case 6: exit(0); } } fun1(),fun2(),fun3(),fun4()均有具体函数定义,以实现对应功能,而fun5()则可定义为: fun5() { } 该函数现在什么都不做,一旦将来需要扩充功能时再加以补充。 在函数调用过程中,遵循实参值向形参的单向传递,不容许形参值再向实参传递。R 按数值传递方式与地址传递方式,其中以地址传递为重点。 7.2 函数之间的数据传递 7.2.1函数数据按数值传递 7.2.2 函数数据按地址传递 7.2.3 利用函数返回值和外部变量进行函数数据传递 7.2.4 结构作为函数参数传递 7.2.1函数数据按数值传递 按值传递(如图7.1所示)中,实参可以是变量,也可是常量,而形参只能是变量 1.传递过程: 主调函数中调用fun(a)的实现步骤(见图7.1)如下: 当程序执行完程序段①后,程序会暂时终止顺序执行而转向被调函数fun()的入口 处②。 系统给形参x分配存储空间,并将实参a的值赋给x③,而实参的值保持不变。 进而执行fun函数的函数体④,函数体中定义其他的变量,则此时系统也分配存储空间。在函数体中对数据进行处理后,遇到return语言或函数中最后的 },则返回⑤,并释放fun函数体中变量的存储空间 控制流程返回到fun()函

文档评论(0)

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

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

1亿VIP精品文档

相关文档