我现在想定义这样的一个函数:
double array[10][100] wavlet(int i, myarray[10][22050]);
就是说返回值和参数都有二维树组应该怎么写?
谢谢了!

解决方案 »

  1.   

    void wavlet(int i,int myarray[10][100],double array[10][100])
    {
       ...
    }这样应该可以吧
      

  2.   

    帮助anothervip勘小误,多有不敬请海涵!
    void wavlet(int i,int myarray[10][22050],double ** array)
    {
       //使用时:
       array[x][y] = xxx;//即可
       ...
    }
      

  3.   

    typedef double array[10][100];
    typedef myarray[10][22050]);array wavlet(int , myarray);
      

  4.   

    上面一句是函数的声明;
    定义如下;
    array wavlet(int i, myarray aa);
    {
        .....
    }
      

  5.   

    不好意思
    上面有一个错了
    应该这样写
    typedef int  myarray[10][22050];
      

  6.   

    定义:
    double* pOutArray Wavlet(int i, double*pInArray)
    {
       .....
       return pInArray;
    }
    使用:
    int    i = 123;
    double inArray[10][100];
    double* pOutArray = Wavlet(i, (double*)inArray);
    注意:
    1.在函数内,你可以把pInArray(inArray)当成二维数组用,只要不越界,不会有问题。
    2.不能返回局部变量。如在函数体内重新申名一个数组:
    ...
    double tempArray[10][100];
    ....
    return (double*)tepArray;
    这样做不行的,但是可以用new来分配空间,然后返回指针。如下:
    ...
    double* pOut = new double[10*100];
    ...
    return pOut;
    (最后别忘了delete掉它)