以二维数组为输入的函数C语言
时间: 2024-09-08 14:03:06 浏览: 69
在C语言中,函数可以接收二维数组作为输入参数,通常需要声明数组的行数和列数。如果函数只需要处理特定大小的数组,可以将行数和列数作为函数参数的一部分。如果数组的列数固定,可以只声明行数,而列数可以通过类型指针运算来确定。需要注意的是,二维数组在作为函数参数时,会退化为指向数组首元素(即第一行)的指针,因此不能直接通过函数参数获取数组的列数。
下面是一个简单的例子,该函数接收一个二维数组和它的行数、列数作为参数,并打印出数组的内容:
```c
#include <stdio.h>
// 函数声明
void printMatrix(int rows, int cols, int matrix[rows][cols]);
int main() {
int arr[3][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
// 调用函数打印矩阵
printMatrix(3, 4, arr);
return 0;
}
// 函数定义
void printMatrix(int rows, int cols, int matrix[rows][cols]) {
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
```
在这个例子中,`printMatrix` 函数接收一个二维整数数组、行数和列数作为参数,并按照常规的行列格式打印出数组的内容。
阅读全文