【发布时间】:2013-01-13 22:49:01
【问题描述】:
#include <iostream>
using namespace std;
void printarray (int arg[], int length) {
for (int n = 0; n < length; n++) {
cout << arg[n] << " ";
cout << "\n";
}
}
int main ()
{
int firstarray[] = {5, 10, 15};
int secondarray[] = {2, 4, 6, 8, 10};
printarray(firstarray, 3);
printarray(secondarray, 5);
return 0;
}
此代码有效,但我想了解数组是如何传递的。
当从主函数调用printarray 函数时,将传递数组的名称。数组名是指数组第一个元素的地址。这如何等同于int arg[]?
【问题讨论】:
-
具体来说,数组名是指数组。它可以转换为指向第一个元素的指针,这在大多数情况下都会发生。
-
我建议让 knatten 的答案成为公认的答案。
标签: c++