数组作为函数参数
两种形式:非引用形式、引用形式
>① 非引用形式
在使用数组做参数时,编译器会自动将数组名转换为指向数组第一个元素的指针。因此下面三个形式的形参声明其实是一样的,形参类型都是 int*
int fun(int *p)
int fun(int p[])
int fun(int p[10])
注意:根据数组名无法知道个数,需要再加一个参数传递数组元素的个数。
>② 引用形式
void test(int (&a)[3])
{
for (int i = 0; i < 3; ++i)
{
cout << a[i] << endl ;
}
}
注意:这样数组就不会转为指针了,而且有数组元素个数的信息。但是调用的时候,必须传递一个含有三个元素的数组