c语言怎么传递二维数组

avatar
作者
猴君
阅读量:0

在C语言中,可以通过指针来传递二维数组。以下是两种常见的方式:

  1. 传递数组的指针:
void func(int (*arr)[3], int rows) {     for (int i = 0; i < rows; i++) {         for (int j = 0; j < 3; j++) {             printf("%d ", arr[i][j]);         }         printf("\n");     } }  int main() {     int arr[2][3] = {{1, 2, 3}, {4, 5, 6}};     func(arr, 2);     return 0; } 
  1. 传递指向指针数组的指针:
void func(int **arr, int rows, int cols) {     for (int i = 0; i < rows; i++) {         for (int j = 0; j < cols; j++) {             printf("%d ", arr[i][j]);         }         printf("\n");     } }  int main() {     int arr[2][3] = {{1, 2, 3}, {4, 5, 6}};     int *ptr[2] = {arr[0], arr[1]};     func(ptr, 2, 3);     return 0; } 

注意:在第二种方式中,需要将二维数组转换为指针数组,即将二维数组的每一行的首地址存放在指针数组中。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!