我正在阅读http://www.tutorialspoint.com/cplusplus/cpp_passing_arrays_to_functions.htm,它建议将数组传递给函数的第一个方法是将它作为指针传递:
void myFunction(int *myArray) {
.
.
.
}
这不起作用,因为无法确定myArray
中myFunction
的长度吗?
答案 0 :(得分:3)
通常的惯例是为数组长度传递一个单独的参数。
void myFunction(int* myArray, int length) {
for (int index = 0; index < length; ++index) {
// ... do something with each array item ...
}
}
void caller() {
int array[10];
// ... put some useful values in the array ...
myFunction(array, sizeof(array) / sizeof(array[0]));
}