二维数组作为函数参数c语言
时间: 2024-10-15 13:05:12 浏览: 31
C语言中二维数组作为函数参数来传递的三种方法
5星 · 资源好评率100%
在C语言中,将二维数组作为函数参数传递时,需要注意的是,由于C语言不像某些高级语言那样支持引用或指针传递,你需要通过指针来间接操作二维数组。这是因为直接传递二维数组会复制整个数组,这在内存上效率低且消耗资源。
当你想把二维数组`arr`传给函数`func`时,可以这样做:
```c
void func(int (*array)[n]) // n表示每行元素的数量
{
int i, j;
for (i = 0; i < rows; i++) {
for (j = 0; j < cols; j++) {
printf("%d ", array[i][j]);
}
printf("\n");
}
}
int main()
{
int arr[rows][cols]; // 定义你的二维数组
// ...填充数组...
func(arr); // 传递二维数组的地址
return 0;
}
```
在这个例子中,`(*array)[n]`是一个指向整数的一维数组的指针,数组的大小由`rows * cols`确定。函数`func`接收的就是这样的指针,可以直接访问到二维数组的每一个元素。
阅读全文