C++数组形参

如有错误,还请指正!

目前学C++学到将数组形参传递到函数中,对数组进行操作。

在编程时,由于传入指针是数组的头指针,函数并不知道数组的大小,我就差了一下资料,方法可能不全。

第一种方法,将数组的开始地址与结束地址作为形参,用了两种方法遍历:递归和while循环。

 void OutPut(const int* array_begin, const int* array_end)

{
    if (array_begin == array_end)
    {
        return;
    }
    cout << *array_begin << endl;
    OutPut(array_begin + 1, array_end);
    //while(*array_begin != *array_end)
    //{
    //    cout << *array_begin << endl;
    //    array_begin++;
    //}
}

第二种方法,将确定的数组大小传进来,这种方式限制了数组的大小。

void OutPut(int (&a)[3])
{
    for (auto& p : a)
    {
        cout << p << endl;
    }
 
}

第三种方法,将数组和数组大小当做形参。

void OutPut(int a[], size_t array_size)
{
    for (size_t i = 0; i != array_size; i++)
    {
        cout << a[i] << endl;
    }
}

 




posted @ 2021-10-27 16:12  〉外圆内方〈  阅读(71)  评论(0)    收藏  举报