日期:2014-05-18  浏览次数:20770 次

如何在C#中定义C++的指针?万分感激呀!
本人需要把一段C++算法代码翻译成C#,但代码里出现了指针的指针,定义如下:
private double **a;

这样的定义在C#中怎么表示呢?


二是它在实例化时又如下,在double后面跟一个*号,这是什么意思?

a = new double* [n] //n代表一个常数


三是它在用法时,即可作为一维数组用,也可当二维数组用,我就更晕了,没见过指针还能这样用的?

for (i = 0; i < n; i++)
{
  a[i] = new double[n + 1];//作为一维数组用
}

a[i - 1][j - 1] = term1 - term2;//作为二维数组用


由于算法很长,可能没有把全部代码贴出来,但代码中真实是这样使用的,我就不明白这是什么意思?

再加上本人C++不才,所以,有高手帮帮忙,万分感激!


如何在C#中定义C++的指针?万分感激呀!

------解决方案--------------------
C# code

            double[][] a = new double[n][];
            for (int i = 0; i < n; i++)
            {
                a[i] = new double[n + 1];
            }
            a[i - 1][j - 1] = term1 - term2;