传值和传址的区别

本文详细解析了参数传递中的传值与传址的区别,并通过实例说明两者的工作原理。文章还对比了它们之间的效率差异,帮助读者更好地理解如何在编程中合理选择使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      之前对于参数的传值和传址一直不大明白,大概的意思知道,那么他们两个有什么区别,还有就是具体是怎样的参数传递还是不太懂。所以就上网搜了一些关于传值和传址的讲解。

      先来简单说一下

传值:把A的数值传到B,改变B,A不会跟着变,B存的是跟A一样的值;

传址:把A的地址传到B,改变B,A同时跟着变,B存的只是A的地址(类似电脑的快捷方式)。

      不知道你们对于第二个传址的解释有没有不懂的地方,反正我是对这句话比较迷茫“A同时跟着变”,把A的地址传到B,那么是B改变了,然后又说”A同时跟着变“,这真的就不懂了。

后来上网查了查,感觉恍然大悟,其实传址挺简单的。只要绕开那个弯儿就好了。传址,相当于是把A的地址传给B,所以说改变B的时候,相当于改变A,所以说B变的时候A也跟着变。

【效率比较】

一般而言,传址比传值效率高。因为传值对整个类型进行了拷贝,而传址只复制了地址。比如,现有一个结构体,存储了大量的数据。传值拷贝了整个结构体,而传址只是拷贝了地址。

 

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值