关于C++数组在函数中传递的几个问题

如果有数组inta[],且一个函数的声明为voidswap(int*a),那么这个型参传递的是数组的什么内容,如果函数的声明为voidswap(inta[])和voids... 如果有数组int a[],且一个函数的声明为 void swap(int *a), 那么这个型参传递的是数组的什么内容, 如果函数的声明为 void swap(int a[]) 和 void swap (*a),分别传递的是什么内容? 展开
 我来答
物理公司的
2017-11-25 · TA获得超过5695个赞
知道大有可为答主
回答量:6105
采纳率:86%
帮助的人:1331万
展开全部
int a[] 和 int *a :
在做函数形参时,无区别,并且 int a[] 为“活化石”写法(即不推荐写法,因为 int a[]不能显式的表示出我们要传递的是一个指针),但是有些程序员认为 int a[] 更好,因为 *a 不能表示出函数所需要的对象是数组还是一个单对象的指针。所以,仁者见仁,我个人更推崇int *a。
总结:
这两种写法都表示我们要传递一个指针,在函数内部可以对a赋其他值。(在用作数组变量时,数组名只能做“指针常量”,但做数组型形式参数时,两者相同)
追问
谢谢
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式