*参数做形参和*&参数做形参的区别(我的理解.)

1.*&做形参相当于指针的引用.用于对指针变量的内容(而非其指向的内容)进行操作.

其传入的是指针变量的地址.可以影响到指针变量内容的变化.

 

说明:increase前p_i的内的数据是:0012ff6c,0012ff6c的地址内存放整数10.

increase之后,对p_i内的数据进行了增量操作,结果为:0012ff70,由于0012ff70
为未知地址,其内存放的为乱码.
这说明通过指针引用,我们可以修改指针变量内的数据.

2.指针做形参时我们并不能修改指针变量内的数据.

经过increase_1操作之后的输出结果并没有发生变化.这是由于在参数传递时,由于没有使用&,这里只传入了指针p_i内的值,而非p_i的地址.

所有的操作都在increase内新建的副本上进行,并没有影响到外部的p_i变量.

但是由于传递的是p_i内的值,即整数i的地址,所以如果在此函数中对变量i的值进行修改,则会影响到外部i的变化.

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值