C语言中如何传递二维数组参数
时间: 2024-05-15 19:19:11 浏览: 125
C语言动态分配二维数组
在 C 语言中,我们可以通过以下两种方式来传递二维数组参数:
1. 将二维数组作为函数参数传递
我们可以将二维数组作为函数参数传递,例如:
```
void func(int arr[][N], int row) {
// some code here
}
int main() {
int arr[3][N] = {{1,2,3}, {4,5,6}, {7,8,9}};
func(arr, 3);
return 0;
}
```
上面的代码中,我们定义了一个二维数组 arr,并将其作为参数传递给函数 func。注意,我们需要在定义时指定第一个维度的大小(即列数),第二个维度的大小可以在函数调用时指定。
2. 将二维数组转换为一维数组再传递
我们也可以将二维数组转换为一维数组再传递,例如:
```
void func(int* arr, int row, int col) {
// some code here
}
int main() {
int arr[3][N] = {{1,2,3}, {4,5,6}, {7,8,9}};
// 将二维数组转换为一维数组
int* ptr = &arr[0][0];
func(ptr, 3, N);
return 0;
}
```
上面的代码中,我们将二维数组 arr 转换为一维数组并将其首地址传递给函数 func。注意,我们需要在函数中指定二维数组的行列数。
阅读全文