C语言中如果要用函数更改一个调用的主函数的二维数组的值如何写
时间: 2024-02-22 11:59:21 浏览: 143
在 C 语言中,如果要用函数更改一个调用主函数的二维数组的值,可以使用指针作为函数的参数传递。下面是一个示例代码:
```c
#include <stdio.h>
void changeArray(int (*arr)[3], int row, int col) {
// 修改 arr 指向的二维数组的值
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
arr[i][j] = i * j;
}
}
}
int main() {
int arr[2][3] = {{1, 2, 3}, {4, 5, 6}};
// 调用函数修改 arr 的值
changeArray(arr, 2, 3);
// 输出修改后的 arr 的值
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
在 `changeArray` 函数中,参数 `arr` 的类型是 `int (*)[3]`,表示指向二维数组的指针,参数 `row` 和 `col` 表示二维数组的行数和列数。在函数中,可以通过操作指针来修改二维数组的值。
在主函数中,调用函数 `changeArray` 时,将二维数组 `arr` 的地址作为参数传递给函数。在函数执行过程中,实际上是通过指针操作数组的,因此可以修改主函数中的二维数组的值。
阅读全文