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; } }

浙公网安备 33010602011771号