C下面的數組指針傳遞

做程序時間長了也會暈暈乎乎的啊 爲了傳遞一個二維數組指針居然搞了幾個小時,最後還不得不求助於譚浩強老先生。。。。。無語了。。。。

 

如下解:

 

#include  <iostream.h>

 

double Cal(double *P,  int L, int V)

{

        int i=0,j=0;

        double  Val = 0;

 

        for(i=0;i<L;i++)

             for(j=0;j<V;j++)

             {

                  Val += *(P+i*V+j) ;

             } 

 

       return Val ;

}

 

 

main()

{

 

    double Temp;

    double  PData[3][2] = {

                                        1.01,1.02,

                                        1.04,1.03,

                                        1.00,1.03

                                        };

 

    Temp = Cal(*PData,3,2); 

    cout<<Temp<<endl;

 

 

}

 

錯誤說明:

如果傳參爲: PData

函數中接參:double **P

就會出錯!

 

看來真的老了。。。。。。。。。。。。。。。。。

發佈了43 篇原創文章 · 獲贊 8 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章