- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
章函数和作用域
计算机等级考试试题 而编译器获得函数原型有两种情况: (1)当函数定义在调用之前时,则从定义中抽取函数原型。 (2)当函数定义在调用之后时,则程序员须在调用之前用函数原型对函数进行声明,让编译器获得函数原型。 对于标准库函数的函数原型都在头文件中提供了,程序可用#include命令包含进来即可; 注意:函数原型和函数定义在返回类型、函数名和参数表上必须完全一致,否则编译错误。 #include iostream.h void f1 ( ) ; //函数说明 void f2 ( ) ; void main( ) { f1( ); //函数调用 f2( ); } void f1( ) //函数定义 {cout Function f1.\n;f2( );} void f2( ) {cout Function f2 .\n;} main() f1() f2() 第3节 函数的调用 一、函数的值和类型 1.函数调用通过调用表达式进行。 表达式形式为:函数名(实参表列) 函数调用过程是: 为形参及函数体中的变量分配存储空间; 用实参向形参传递数据; 中断现行(调用)函数,将控制转交给被调用函数执行。 函数调用后的返回过程是: 先计算出返回语句中表达式的值 若表达式值的类型与函数类型不一致,则强制转换。 将计算出的表达式值返回给调用函数作为返回值。 将控制由被调用函数转向调用函数,执行后面的语句。 如: #includeiostream.h int lmax(int,int); //函数声明 void main( ) { int limit=32; char ch=A; long mval; mval=lmax(limit,ch); //调用表达式 coutmvalendl; } int lmax(int a,int b) //函数定义 { return (ab?a:b); } 实参的个数、类型及顺序要与形参保持一致 形式参数 实际参数 说明: 实参在进行函数调用时,必须具有确定的值,以便把这些值传送给形参。 形参变量只有在被调用时,才分配内存单元;调用结束时,即刻释放所分配的内存单元。 因此,形参只有在该函数内有效。调用结束,返回调用函数后,则不能再使用该形参变量。 实参对形参的数据传送是单向的,即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。 实参和形参占用不同的内存单元,即使同名也互不影响。 二、函数的传值调用 C++中变量值有两种:变量本身值和变量地 址值。而形参的类型也就分为两种:一般类型 和指针类型。 则传值调用的方式也有两种: 传值调用和传址调用 有时也称:直接调用与间接调用 1、传值调用的实现机制和特点 实现机制是:调用函数中的数据只是在调用之初通过实参向形参传递,之后各占有不同的空间,并且不再发生联系,互不干扰。 特点是:形参值的改变不影响实参。 实参本身的值在调用前后和调用过程中都不发生变化。 例:#include iostream.h void swap(int a,int b) { int temp; temp=a; a=b; b=temp; coutin swap :a=a,b=bendl; } void main( ) { int a=3,b=5; coutbefore swap :a=a,b=bendl; swap(a,b); coutafter swap :a=a,b=bendl; } 调用swap时,内存单元分配情况: 3 5 3 a b a b temp 实参 形参 3 5 3 5 实参——形参 3 5 过程 调用中 3 5 过程 调用后 temp=a; a=b; b=temp; 三、函数的引用调用 使用引用作为函数形参时,调用函数的实参要用变量名。将实参变量名赋给形参的引用,则在被调函数中,对引用的操作,实质就是直接通过引用来操作实参的变量值。 显然,引用传递方式具有传址调用的效果,又有传值调用的语法简单性和可读性。 注意: 若只从调用语句观察,是无法区别采用的是传值调用还是引用调用。 #include iostream.h void swap(int a,int b) //形参为引用类型 { int temp; temp=a
您可能关注的文档
最近下载
- 《风景谈》精品课件.ppt VIP
- T11长轨列车卸轨作业指导书.pdf VIP
- 城市轨道交通交流供电系统的保护方式1城市轨道交通交流供电系.pptx VIP
- 《极简项目管理》读书笔记.pdf VIP
- 北京-绅宝D70-产品使用说明书-绅宝D70 2.3T-C7230C7G-绅宝产品使用说明书.pdf VIP
- 《地下工程防水技术规范》(GB50108-2008).pdf
- 2023 【小升初分班】小升初数学分班测试卷 (通用版,含答案).pdf VIP
- DLT 1253-2013 电力电缆线路运行规程.pdf VIP
- 商务谈判毕思勇课程教案.pdf VIP
- 信息处理技术员教程(第三版)第6章 演示文稿基础知识.pptx VIP
文档评论(0)