求大神,关于指针的问题

swap函数交换两个值,由于是值传递,只能在函数体中改变传入的指针所指向变量的值,而不能改变传入的指针的指向吗但是如果我定义一个指针数组*name【】 然后传入 swap(name)为什么就能够在swap函数体中交换地址?
稳做王者
浏览 1045回答 1
1回答

onemoo

因为参数是指针数组类型,这相当于指向指针的指针类型,函数中当然就能修改指针所指的“东西”啦——这个“东西”就是被指向的那个指针。所以不要死记硬背,不是永远也交换不了指针,而是函数的传参永远是值传递的,所以要想改变什么值,就传入其指针(或者说其地址)——这里你传入了指针的指针,就能改变指针啦。
打开App,查看更多内容
随时随地看视频慕课网APP