数组作为函数参数

两种形式:非引用形式、引用形式

>① 非引用形式

在使用数组做参数时,编译器会自动将数组名转换为指向数组第一个元素的指针。因此下面三个形式的形参声明其实是一样的,形参类型都是 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 ;
    }
}

注意:这样数组就不会转为指针了,而且有数组元素个数的信息。但是调用的时候,必须传递一个含有三个元素的数组

posted on 2020-04-15 19:32  JJ_S  阅读(350)  评论(0编辑  收藏  举报