考虑:
#include <iostream>
using namespace std;
void Change(int arr[3]) {
for (int i = 0; i < 3; i++) {
arr[i] = 1;
}
}
int Test() {
int arr[3] = { 0, 0, 0 };
for (int i = 0; i < 3; i++) {
cout << arr[i] << endl;
}
Change(arr);
for (int i = 0; i < 3; i++) {
cout << arr[i] << endl;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
由于数组默认作为指向其第一个元素的指针传递并且不会被复制,因此在函数中更改数组元素的值实际上会导致在函数调用者中更改数组该元素的值,这就是为什么以上代码输出
#include <iostream>
using namespace std;
void Change(int …Run Code Online (Sandbox Code Playgroud)