C/C++ 传值,传引用,传地址
1,传值,当把值赋给函数形参时,是赋值的副本,在函数里做的任何改变都不会影响实参的值,
eg:
void swap(int a,int b) {int temp;temp = a;a = b;b = temp; printf("a=%d,b=%d\n",a,b); } int main(void){ int a = 7; int b = 9; swap(a,b);
printf("a=%d,b=%d\n",a,b); return 0;} output:a=9b=7 a=7b=9
2,传引用,是在函数形参的前面加上(&)符来表示函数传递的是值的引用,可以理解为是实参的一个别名,我们知道通过&a = b来给一个变量其别名,那么别名(a)的改变也会导致原来值(b)的改变
void swap(int &a,int &b) {int temp;temp = a;a = b;b = temp; printf("a=%d,b=%d\n",a,b); }int main(void) {int a = 7;int b = 9;swap(a,b);printf("a=%d,b=%d\n",a,b);return 0; }output: a=9 b=7a=9 b=7
3,传地址,就是把实参的地址传递给函数,是在函数形参的前面加上(*)符来表示函数传递的是地址,指针指向的地址一样,那么函数里改变指针的值,实参的值也会改变
void swap(int *a,int *b) {int temp;temp = a;a = b;b = temp; printf("a=%d,b=%d\n",a,b); }int main(void) {int a = 7;int b = 9;swap(&a,&b);printf("a=%d,b=%d\n",a,b);return 0; }output: a=9 b=7a=9 b=7
转载于:https://www.cnblogs.com/ShowJoy/p/3613022.html
C/C++ 传值,传引用,传地址相关推荐
- 前端:JS/22/函数(函数的概念,函数的定义格式,函数定义格式的说明,函数的调用,函数的参数),全局变量和局部变量,拷贝传值和引用传址,匿名函数,二维数组,对象,自定义对象的创建
函数 1,函数的概念 函数,是将一段公共的代码进行封装,给它起个名字叫"函数" 函数可以一次定义,多次调用:函数可以将常用的功能代码,进行封装,如:用户名的验证,验证码函数,邮箱验 ...
- 关于内存的划分和传引用传参数的区别
1.堆 2.栈 空间较小 3.全局 4.代码段 要搞懂每个区域放什么东西 堆 复杂类型 栈 变量 静 代 复杂类型对象没有指针指的时候,堆中的内容垃圾回收 1 函数传对象的时候,其实是首先在堆里面开 ...
- C++中的参数传递方式:传值、传地址、传引用总结
指针:指针是一个变量,只不过这个变量中存储的是一个地址,指向内存中的一个单元. 引用:引用和原变量是同一个东西,只不过是原变量的一个别名. int a = 10; 定义一个整型变量aint *p = ...
- python函数传值还是地址_python中给函数传参是传值还是传引用
首先还是应该科普下函数参数传递机制,传值和传引用是什么意思? 函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题.基本的参数传递机制有两种:值传递和引用传 ...
- Go 学习笔记(65)— Go 中函数参数是传值还是传引用
Go 语言中,函数参数传递采用是值传递的方式.所谓"值传递",就是将实际参数在内存中的表示逐位拷贝到形式参数中.对于像整型.数组.结构体这类类型,它们的内存表示就是它们自身的数据内 ...
- 2021-01-14python函数传参是传值还是传引用? 参数若是简单类型是传值 若是对象类型则是传引用,python是兼容两者传参方式的
python函数传参是传值还是传引用? 首先还是应该科普下函数参数传递机制,传值和传引用是什么意思? 函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题. ...
- JAVA中是传值还是传引用?回答KEZHANG问题
首先,推荐对Java有一定理解的同仁一本书<Practical Java>.在<Practical Java>中也有一个章节介绍Java中关于传值和传引用的问题,堪称经典. & ...
- golang 传值 传引用 简介
目录 1. 基础类型 2. struct 3. 函数 4. slice 5. map 6. chan 7. 总结 1. 基础类型 byte,int,bool,string,float,数组等均是传值. ...
- 值传递 引用传递(传地址,传引用)的区别
传值 是把实参的值赋值给行参 那么对行参的修改,不会影响实参的值 传地址 是传值的一种特殊方式,只是他传递的是地址,不是普通的如int 那么 ...
最新文章
- 使用 CocoaPods 给微信集成 SDK 打印收发消息
- 大一期末考试,python,测试题,含答案
- centos7安装tomcat8.5.46版本碰到的问题
- 给定a和n,计算a+aa+aaa+a...a(n个a)的和(大数据处理)
- r语言echarts画箱线图_R语言之数据可视化---交互式图表recharts
- 数据结构系统学习(1)数据类型和数据结构的概念
- Android 性能优化工具
- Android 应用开发(12)---可绘制对象资源
- 执行计算机查错程序,计算机 每次启动过程中总会执行磁盘检查CHKDSK,什么问题???怎么处理??...
- IBM AIX6.1上安装OpenSSH手记【转】
- Nginx源码分析 - HTTP模块篇 - TCP连接建立过程(21)
- 植物大战僵尸pak修改
- 小程序 获取地理位置
- 中国金融市场目前存在的金融牌照总结
- 一键登录网易163邮箱
- 八、CSS基础选择器
- 如何把苹果卖出高价?
- 机顶盒宽带拨号失败服务器未响应,机顶盒详细错误代码.doc
- Windows XP 下安装SQL SERVER2005 问题汇总
- ant design vue:upload打开选择文件弹框前弹出确认框
热门文章
- 【2021年1月】RT-Thread社区简报
- FMSoft uniGUI 1.9.x,开发经验扩展到了一个新的维度
- 广播、组播 socket编程
- java中的逸出是什么意思,发布和逸出-构造过程中使this引用逸出
- python练手(PyAutoGUI)
- android电视传屏软件下载,希沃传屏app下载 希沃传屏(投屏软件) for Android V1.1.4.2813 安卓手机版 下载-脚本之家...
- MSP432驱动舵机串口输出角度
- Qlik Sense中处理SQL语句的流程
- 易助ERP账号密码集成
- Java基于springboot开发的漂亮的个人家乡博客系统有论文