首页 > 其他分享 >引用参数学习笔记

引用参数学习笔记

时间:2022-10-29 21:24:37浏览次数:68  
标签:int 笔记 参数 引用 printf ref 内存

引用参数

定义

引用参数是由调用部位传入实参的地址(写在留言板上)的形参。

以符号“&”开始的参数即为引用参数。

如果一个形参是引用参数,调用部位将把实参的地址传递给子程序。子程序可以改变传递给引用参数的任何实参,因为子程序操作的是真正的变量,而不是它的副本。

引用变量在声明的时候必须初始化

例如:

int a;
int & ref = a;

引用参数操作的是引用的对象内存中的空间

	int a = 10;
	int & ref = a;//ref 引用 a的内存地址 
	printf("ref = %d\n", ref);
	a = 20;//当a内存的值改变,ref找到a的内存地址得到改变后的值 
	printf("当a改变后ref = %d\n", ref);
	ref = 30;//ref对引用的内存地址进行改变, a在内存中的值改变,a改变 
	printf("当ref改变后a=%d",ref);

普通变量操作自己的内存空间

	int a = 10;
	int b = a;//使用了一个int大小的空间给b,将a的值复制给b 
	printf("b = %d\n", b);
	a = 20;//当a所在内存的值改变,b所在内存 的值不会受影响 
	printf("当a改变后b = %d\n", b);
	b = 30;//b所在内存的值改变, a在内存中的值也不会受影响 
	printf("当b改变后a=%d",a);

使用引用参数的函数调用方式

int sum(int & a, int & b);
//c = sum(10, 20);        错误,不能传入直接数
int a = 10, b = 20;
c = sum(a, b);          //正确,必须通过变量将值传入函数

但是如果函数在声明的时候用const修饰了引用变量,就可以传入直接数,编译器会创建一个临时的无名变量跟引用变量绑定。例如:

int sum(const int & a,const int & b);
c = sum(10, 20);         //正确,引用变量被const修饰

标签:int,笔记,参数,引用,printf,ref,内存
From: https://www.cnblogs.com/linstudynotes/p/16839893.html

相关文章

  • C语言笔记
    Part 6   之前就已经出一篇运算符的笔记了,但是运算符这里的知识点很多,小编会不断为小萌新们补上!  之前已经出过一篇算数运算符、赋值预算符、关系运算符、自增......
  • 学习笔记——Servlet
    2022-10-29 Servlet1、 Servlet的作用:例如:查询数据(1)浏览器端点击某个查询功能,向服务器端发出请求;服务器端解析请求,创建Servlet对象,并调用特定方法;Servlet对象调用“D......
  • 54-ES9-ES9扩展运算符与rest参数
     ......
  • 程序员修炼之道:从小工到专家 阅读笔记4
    Bug是一个程序员必须要面对的东西,在处理bug的时候,有些事情就显得尤为重要。发现bug后你应该专注于修正问题而不是指责,bug是你的过错还是别人的过错,并没有关系,你应该考虑的......
  • 程序员修炼之道:从小工到专家 阅读笔记3
    我是先读的本书的利用好shell编程,内容大致如下,可以通过对shell编程,构建复杂的宏命令,,完成你经常进行的各种活动。利用命令shell的力量,熟悉shell,你自己的生产率迅速提高,多花......
  • 第二章 读书笔记
    选择器1.选择器和声明都可以分组,选择器中声明样式重复过多,可以采用分组的方法,这样更易于代码的维护,选择器分组要注意分隔符“,”。1h1,h2,p,div{2color:#ccc;3......
  • 【HDLBits刷题笔记】09 Latches and Flip-Flops
    Dff这一节终于开始时序电路了。首先是一个用的最多的D触发器。moduletop_module(inputclk,//Clocksareusedinsequentialcircuitsinputd,o......
  • 程序员修炼之道笔记4
    第六节:交流1、知道你想要说什么当我们面临会议,重要通话,或者只是撰写技术文档,问下自己你要表达的中心想法是什么,围绕这一点进行展开。2、了解你的听众比如你要做一场分......
  • 【读书笔记】小团队构建大网站:中小研发团队架构实践-1开篇
    ##1.1框架篇-工欲善其事,必先利其器1、集中式缓存redis2、消息队列rabbitmq3、集中式日志ELK4、任务调度1)WinJob2)HttpJob5、应用监控Metricshttps://github.com/A......
  • 【读书笔记】小团队构建大网站:中小研发团队架构实践-2 企业总体架构
    ##2.1企业商务模型##2.1架构现状1、功能架构2、应用架构3、数据设计4、物理架构##2.3领域模型##2.4架构规划1、顶层架构规划俯视图剖面图2、网站功能规划3、......