传给函数的数组,是传数组元素的值,还是数组元素的地址值?

 我来答
幽灵大人在此
推荐于2016-09-22 · 超过15用户采纳过TA的回答
知道答主
回答量:22
采纳率:0%
帮助的人:29.1万
展开全部

以C语言为例:

定义 int a[2];

这里的a既是数组名,也是数组首地址,也就是说相当于const int *a = a[0];

以交换函数为例:

void swap(int a[])

{

    int temp;

    temp = a[0];

    a[0] = a[1];

    a[1] = temp;

}

传入语句:swap(a);

此处传进来的是地址,数组中的值被改变了。


如果传入值:

void swap(int a,int b)

{

    int temp;

    temp = a;

    a = b;

    b = temp;

}

则数组中的值未被改变。

望采纳。

更多追问追答
追问
不太理解
追答
建议你先了解指针这个东西。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式