多维数组名作为函数参数,形参和实参的关系?
时间: 2024-11-06 19:15:55 浏览: 21
当我们将多维数组名作为函数参数传递时,实际上我们传递的是数组的首地址(指针)。在函数内部,这个形参会引用实参所指向的内存区域,也就是说,对形参的操作会影响到实参数组。形参只是一个别名,改变形参不会改变原数组,但如果修改了形参中的元素,那是因为它指向的是相同的内存空间。
这种传递方式可以让我们在函数中对数组进行操作,而不需要返回值。例如:
```c++
void printArray(int arr[][3]) {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
cout << arr[i][j] << " ";
}
cout << endl;
}
}
int main() {
int myArray[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
printArray(myArray); // 输出原始数组
return 0;
}
```
在这个例子中,`printArray`函数接受一个二维数组的引用,然后打印出数组内容。
阅读全文