C++:指针作函数参数的情况

指针作为函数参数,扮演的是值传递还是地址传递的角色,要看指针变量在函数里面是如何被使用。

1)如果对其使用取地址符号&,则是地址传递。意味着你要操纵传过来的地址所指向的值。

2)如果直接使用变量名,则是值传递。意味着你所改变的,只不过是所声明的那个局部变量的值。

扮演什么角色和如何传进来值是没什么关系的。比如对于一维指针变量,你要么传int *a,要么你传一个&a,如果你传别的类型,编译器会和你过不去的。

往设计语言的角度去考虑,其实所谓值传递和地址传递,主要是用来完成函数和外界交互的两种主要方式:

1)值传递:函数只接受外界的输入,只能通过返回值来输出。

2)地址传递:函数可以接受更多、更复杂的输入,还可以通过指针来作更复杂的输出。

一种是很简单的情况,你可以用来处理相当一部分情况;一种是可以很复杂的情况,你可以拥有随心所欲的权利,只不过,你多了管理指针的内存的义务。

得到越多,付出越多!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值