好久没用c++写程序了,现在突然就忘了数组放在函数里作为参数传递时是不是会改变原来的值,于是写了个非常简单程序试了下:
/*
*2018/4/16
*作者neeso
*数组作为函数参数是值传递还是引用传递
*/
#include<iostream>
using namespace std;
//change函数将传入的数组全部置0
void change(int a[],int n)
{
int i;
for(i=0;i<n;i++)
{
a[i]=0;
}
}
void display(int a[],int n)
{
int i;
for(i=0;i<n;i++)
{
cout<<a[i]<<'\t';
}
cout<<endl;
}
int main()
{
int a[]={5,6,5,2,8};
display(a,5);
change(a,5);
display(a,5);
return 0;
}
运行结果是这样的:
结果是,是会改变的。数组作为函数参数是传递的是地址。