- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.8指针与引用2.8.1 指针C/C++中的指针本质上就是一个存放变量地址的变量。与一般变量不同,指针实现了按地址访问内存数据的方法,具体应用于数组、函数参数和动态内存的管理中。指针定义的一般形式: 类型名 *指针变量名; //*代表指针类型例:int *p;指针变量在使用前需要赋值: p = a; //a为整型变量, 运算符取a的地址通过p间接访问a中数据: *p=10; 等价于 a=10;//运算符*实现了间接访问2.8.2引用1.引用的基本概念引用就是为一个已定义的变量或对象另起一个名字,引用作为一个变量的别名,定义形式如下: 数据类型 引用名=已定义的变量名;例如: int a=5; int k=a; //k是a的引用注意:1)此时是一种引用类型标识符,int 是int变量的引用。2)引用必须在定义时初始化。 a 5 k【例2-16】 引用和变量的关系。//li2_16.cpp#include iostream#include iomanipusing namespace std;int main( ){ int a=10; int b=a;//声明b是a的引用 a=a*a; //a的值变化了,b的值也应一起变化 coutasetw(6)bendl; b=b/5; //b的值变化了,a的值也应一起变化 coutbsetw(6)aendl; return 0;} 结果为:100 10020 202.引用作为函数参数引用可以作为函数参数进行传递,称为引用传递。C++函数的参数类型可以是C++允许的任意类型,分为:值传递:系统将实参值作为初始值,对形参初始化。被调函数体内对形参的操作与外部实参无关。指针传递:当函数参数为指针类型时,系统将实参对象的地址传递给形参指针。这时,在被调函数内可以通过形参指针间接访问实参。指针传递是对地址值的传递,实际也是一种值传递。 引用传递:函数参数为引用时,系统将实参对象的名字传递给形参引用。这时形参名作为引用关联于实参对象,在被调用函数内对形参的操作,就是对实参的操作。 【例2-18】求解问题:交换两个变量的值。//li2_18cpp#include iostreamusing namespace std;void Swap (int x, int y) //以整型变量作参数:单向值传递 { int temp = x; x=y; y=temp; } int main ( ) { int i = 10, j = 20; Swap(i, j); cout i “, ”j ‘\n’; //形参改变不影响实参 ,实参值不交换 return 0; } 【例2-18】求解问题:交换两个变量的值。//li2_18.cpp#include iostreamusing namespace std;void Swap (int *x, int *y) //以指针变量作参数:指向实参变量 { int temp = *x; *x=*y; *y=temp; } int main ( ) { int i = 10, j = 20; Swap(i , j); //传递 实参变量地址值 cout i “, ”j ‘\n’; //实参值发生交换 return 0; } 【例2-18】求解问题:交换两个变量的值。//li2_18.cpp#include iostreamusing namespace std;void Swap (int x, int y) //以整型引用作参数,形参对应实参的别名{ int temp = x; x=y; y=temp; } int main ( ) { int i = 10, j = 20; Swap(i, j); cout i “, ”j ‘\n’; // 实参值发生交换 return 0; } //常引用作形参#include iostreamusing namespace std; //常引用作形参,不能修改实参int sum(const int x, const int y){ return x+y;}int main(){ int a=10,b=30; couta”+”b”=”sum(a,b)endl; return 0;}引用主要有以下三个用途:(1)独立引用(少)(2)作为参数传递(3)作为返回类型sum函数中的形参都是常引用,则在该函数中不能改变x和y的值,如果要改变x和y的值就会发生编译错误,请同学们自己上机实验。常引用参数可避免在函数中被修改,有助于提高程序的可靠性。3.使用引用返回
您可能关注的文档
最近下载
- ISO 14067-2018 :温室气体 产品碳足迹 量化要求和指南(中文版).docx VIP
- 黑龙江八一农垦大学《高等数学(II)》2025 - 2026学年第一学期期末试卷.docx VIP
- DB42T 2141.1-2023 农村地区全域国土综合整治规划设计导则 第1部分:总则.docx VIP
- 《网上支付与结算》期末考试试卷(A卷).docx VIP
- 计数型MSA测量系统分析报告(模板).xls VIP
- 电线电缆资质认证认可介绍.doc VIP
- 第12课 明朝的兴亡 (5).pptx VIP
- 乙醇的MSDS.doc VIP
- 旅游类短视频对旅游目的地影响.docx VIP
- Methanol甲醇MSDS.docx VIP
原创力文档


文档评论(0)