将二维数组作为实参传入自定义函数中,并对其值进行更改
时间: 2024-03-22 20:41:12 浏览: 86
在 C 语言中,将二维数组作为实参传入自定义函数中,并对其值进行更改,可以使用指向二维数组的指针来实现。
例如,定义一个函数,将二维数组的每个元素都加 1,代码如下:
```c
void addOne(int (*arr)[3], int row, int col) {
for(int i = 0; i < row; i++) {
for(int j = 0; j < col; j++) {
arr[i][j] += 1;
}
}
}
```
在函数中,参数`arr`是一个指向二维数组的指针,参数`row`和`col`分别表示二维数组的行数和列数。在函数中使用`arr[i][j]`来访问二维数组的元素,并进行加 1 操作。
在主函数中调用该函数,代码如下:
```c
int main() {
int arr[2][3] = {{1,2,3},{4,5,6}};
addOne(arr, 2, 3);
// 输出修改后的数组
for(int i = 0; i < 2; i++) {
for(int j = 0; j < 3; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
在调用函数`addOne`时,将数组`arr`的首地址传入函数中,函数中对数组的元素进行了修改。在主函数中输出修改后的数组,结果为:
```
2 3 4
5 6 7
```
说明函数中对数组的修改成功。
阅读全文