二维数组怎么传入函数
时间: 2024-06-17 14:05:18 浏览: 131
我记不住的那些C语言的二维数组的函数传参
二维数组是一个由多个一维数组组成的数据结构,可以在函数中作为参数进行传递。在 C/C++ 中,可以使用以下两种方式将二维数组传入函数:
1. 使用指针
可以将二维数组的首地址(即第一行的地址)传入函数中,函数内部再通过指针访问整个二维数组。代码如下:
```
void func(int (*arr)[n], int m)
{
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
}
int main()
{
int arr = {{1,2,3},{4,5,6}};
func(arr, 2);
return 0;
}
```
2. 将二维数组转换为一维数组
可以将二维数组展开成一维数组,然后将一维数组传入函数中,再在函数内部通过计算索引值访问二维数组。代码如下:
```
void func(int *arr, int m, int n)
{
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
printf("%d ", *(arr + i * n + j));
}
printf("\n");
}
}
int main()
{
int arr = {{1,2,3},{4,5,6}};
func(&arr, 2, 3);
return 0;
}
```
阅读全文