C++ 函数以数组为参数时如何使用值传递而不使用引用传递?

来源:百度知道 编辑:UC知道 时间:2024/07/01 14:10:49
void abc(int a[4])
{
....
}

main()
{
int a[4];
abc(a);
}

我这样写的。这样传递进去的是地址,会改变a数组的内容。请问怎样才能不改变a数组中的内容传递参数~?
函数做递归用。。一个一个单传比较费力。。。

数组参数只能使用引用传递。

想不改变传进去的数组的值,可以在函数中,定义一个新数组,把传进去的数组的值赋给新数组。然后操作新数组

要么换个方式
void abc(int a)
{
....
}

main()
{
int a[4],i=0;
while (i<4)
{
abc(a[i])
}
}

这还真是个有意义的问题,具体怎么传我也不会,不过你可以在函数里面新建立一个数组,然后把参数数组里面的值拷贝到新建数组里面,这样就可以操作新建立的数组,不会改变以前数组的值了