如何将二维数组的地址传递给双指针(** a)

时间:2015-05-29 19:12:51

标签: c multidimensional-array

我有这个功能

  • int findMax(int ** a,int row,int column)

    我正在使用2-d数组,这是[10] [10]。

  • 现在该怎么做才能将这个数组的地址传递给我的函数指针**

我看到了其他答案,但问题仍然是相同的我必须传递地址,但每当我尝试这样做时,我的编译器开始给出错误,并说无法将int转换为int并输入不匹配错误。

给我你宝贵的建议和想法,我该怎么做?

这是我的代码。

    #include<stdio.h>

  int findMax(int **a,int r,int c);

 int main()
 {
    int a[10][10],i,j,mx,r,c;


    printf("Enter the number of rows in the matrix\n");
     scanf("%d",&r);
     printf("Enter the number of columns in the matrix\n");
     scanf("%d",&c);
    printf("Enter the elements in the matrix\n");

    for(i=1;i<=r;i++)
    {
      for(j=1;j<=c;j++)
            scanf("%d",&a[i][j]);
    }
    printf("The matrix is\n");
    for(i=1;i<=r;i++)
     {
      for(j=1;j<=c;j++)
            printf("%d ",a[i][j]);
      printf("\n");
    }
    printf("\n");
    mx=findMax((int **)a,r,c);
    printf("The maximum elements in the matrix is %d\n",mx);
    return 0;
    }

    int findMax(int **a,int r,int c)
     {
    int t,i,j;
    t=a[0][0];
    for(i=1;i<=r;i++)
     {
      for(j=1;j<=c;j++)
      {
            if(a[i][j]>t)
                 t=a[i][j];
      }
      }
    return (t);

0 个答案:

没有答案