阅读量:86
在C语言中,可以通过以下两种方式传入二维数组:
- 作为函数参数传递:可以将二维数组作为函数的参数传递给函数。在函数定义时,需要指定数组的行数和列数,如下所示:
void myFunction(int arr[][3], int rows, int cols) {
// 函数体
}
int main() {
int myArray[2][3] = {{1, 2, 3}, {4, 5, 6}};
myFunction(myArray, 2, 3);
return 0;
}
在上面的例子中,myArray是一个2行3列的二维数组,通过myFunction函数传递给函数。
- 使用指针传递:可以将二维数组的首地址作为指针传递给函数,然后在函数内部通过指针的形式来访问数组元素。如下所示:
void myFunction(int *arr, int rows, int cols) {
for (int i = 0; i < rows class="hljs-keyword">for (int j = 0; j < cols class="hljs-type">int value = *(arr + i * cols + j);
printf("%d ", value);
}
printf("\n");
}
}
int main() {
int myArray[2][3] = {{1, 2, 3}, {4, 5, 6}};
myFunction((int *)myArray, 2, 3);
return 0;
}
在上面的例子中,myArray数组首地址被转换为int*类型,并传递给myFunction函数。在函数内部,通过指针的形式访问数组元素。
这两种方法都可以传递二维数组给函数,选择哪种方法取决于实际情况和个人偏好。