- 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,传递指向对象的指针。3,传递对象的引用。 (1)传值方式 ①传给被调用函数的是整型、长整型、浮点型或双精度型变量。被调用的函数得定义相应的变量为形参。 ②传给被调用函数的是结构变量。被调用函数得定义结构变量为形参。 ③传给被调用函数的是结构变量的成员。被调用函数得定义与该成员同类的变量为形参。 #include stdio.h#include stdio.hmain( ){ void swap(int pt1,int pt2); int a,b; scanf(%d, %d, a,b); swap(a,b); printf(\n%d,%d\n,a,b);}void swap(int pt1,int pt2){int p; p=pt1; pt1=pt2; pt2=p; }#include stdio.hvoid swapint();int a,b;void main() { a = 5, b = 10; swapint(); printf(%d\n%d\n,a,b);}void swapint(){ int temp;temp=a;a=b;b=temp;}(2)传址方式 ①传给被调用函数的是变量的地址。被调用函数得定义指针变量为形参。 ②传给被调用函数的是数组的地址即数组名。被调用的函数得定义数组或指针变量为形参。 ③传给被调用函数的是函数的地址即函数名称。被调用函数得定义指向函数的指针变量为形参。 ④传给被调用函数的是结构的地址。被调用函数得定义结构指针为形参。#include stdio.h#include stdio.hmain( ){ void swap(int *pt1,int *pt2); int a,b,*p1,*p2; scanf(%d, %d, a,b); p1=a;p2=b; swap(p1,p2); printf(\n%d,%d\n,a,b);}void swap(int *pt1,int *pt2){int p; p=*pt1; *pt1=*pt2; *pt2=p; }#include stdio.hvoid swapint(int *a,int *b);void main() { int a = 5, b = 10; swapint(a, b); printf(%d\n%d\n,a,b);}void swapint(int *m,int *n){ int temp;temp=*m;*m=*n;*n=temp;}(2)传引用方式 引用引入了对象的一个同义词。定义引用的表示方法与定义指针相似,只是用代替了*。引用(reference)是c++对 HYPERLINK /view/1219.htm \t _blank c语言的重要扩充。目录 HYPERLINK /view/2129184.htm \l 1#1 一、引用的概念 HYPERLINK /view/2129184.htm \l 2#2 二、引用参数 HYPERLINK /view/2129184.htm \l 3#3 三、引用返回值 HYPERLINK /view/2129184.htm \l 4#4 四、常引用 HYPERLINK /view/2129184.htm \l 5#5 五、引用和多态 HYPERLINK /view/2129184.htm 编辑本段一、引用的概念 引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符 引用名=目标变量名; 说明:(1)在此不是求地址运算,而是起标识作用。 (2)类型标识符是指目标变量的类型。 (3)声明引用时,必须同时对其进行初始化。 (4)引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,且不能再把该引用名作为其他变量名的别名。 int a,ra=a; a为目标原名称,ra为目标引用名。给ra赋值:ra=1; 等价于 a=1; (5)声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。故:对引用求地址,就是对目标变量求地址。ra与a相等。 (6)不能建立数组的引用。因为数组是一个由若干个元素所组成的集合,所以无法建立一个数组的别名。 例如: Point pt1(10,10); Point pt2=pt1; 定义了pt2为pt1的引用。通过这样的定义,pt1和pt2表示同一对象。 需要特别强调的是引用并不产生对象的副本,仅仅是对象的同义词。因此,当下面的语句执行后: pt1
原创力文档


文档评论(0)