函数参数按数值传递和按地址传递

函数中我们参数传递在很多情况下都是传递变量的数值,然后根据这个数值在函数体内进行运算或return或输出某些我们想要得到的东西,但是有些特殊情况我们不容易通过传递数值的方式得到我们需要得到的东西,比如通过一个学生买课id我们可以得到这个课程的图片名称和这个课程的名称,如果这个函数在一个类内部,我们可以设置一个属性或者两个属性然后运行这个方法赋值,然后再使用,如果不在类内部,我想我们就选择使用两个方法分别得到图片名称和课程名称或者将两者写入一个数组中return出来,但是这只是理想状态下,如果我们要得到三个值甚至三个数组,我们应该怎么办?
这里就需要用函数参数的地址传递了,它的核心思想是对变量自身的增加不受制于局部变量的控制!
通过地址传递参数需要用到&符号!示例:
function prevnext (int x, int& prev, int& next)
{
    prev = x-1;
      next = x+1;
}
int x=100, y, z;
prevnext (x, y, z);
echo '上一个数字'.y.'<br />下一个数字'.x;
虽然这个示例很短小,但是很清晰的表明了上面一段话的意思,相信聪明的人能够得到提示!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值