从内存角度理解函数值传递与地址传递的区别

本文从内存角度深入解析C++中的值传递和地址传递,通过实例和图表展示它们的区别。值传递不会改变实参,而地址传递则会。文章适合C++初学者,旨在帮助理解这两种传递方式的工作原理。
摘要由CSDN通过智能技术生成

**
新人博客小编一枚,希望与大家多多交流C++的学习心得,欢迎大家批评指教、共同进步!

对C++初学者来说,对于值传递和地址传递的使用都停留在“用而不懂”的状态,以至于在实际应用经常会发生各种错误,今天我从内存的角度分析一下,希望帮助初学者从根本来理解两者之间的区别,这样才能在学习C++的道路上取得更大地提升。

一、基本概念

形参:函数定义中的参数;
实参:实际传入函数中的参数;
值传递:以变量、常量等为函数参数,将实参的值复制一份到函数的形参中,函数中参数的修改对实参不会产生影响;
地址传递:以指针为函数参数,传入的实参为地址,形式参数接收地址,函数中参数的修改的同时也修改了实参。

以经典的swap函数作为案例来研讨一下值传递和地址传递的区别。

二、值传递

#include<iostream>
using namespace std; 

//swap函数定义
void swap(int num1, int num2)  //形参num1,num2
{
   
	int temp = num1;
	num1 = num2;
	num2 = temp;
	cout << "调用swap函数中:" << "num1=" << num1 << "  num2&
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值