注册 登录
编程论坛 C++教室

二维数组转换为一维数组的问题

hsnr 发布于 2010-05-10 11:24, 2516 次点击
我写了一个类的成员函数,原意是把一个指向二维数组的指针的值转换为指向一维数组的指针的值,可是输出的值为很大的数,请问是什么原因?程序如下:
double* MatrixAlgorithm::OneDimtoTwoDim(double** dFMatrix,int itime)
{
    double* OneMatrix;
    OneArrayAllocation pT;
    OneMatrix=pT.OneArrayDoubleAlloc(nDimension);

    for(int ipoin=0;ipoin<nDimension;ipoin++)
    {
        OneMatrix[ipoin]=dFMatrix[ipoin][itime];
        cout<<"OneMatrix["<<ipoin<<"]="<<OneMatrix[ipoin]<<endl;
        exit(0);
    }
    return(OneMatrix);
}
3 回复
#2
lintaoyn2010-05-10 13:01
int arr1[x][y];
/**********转变成一维数组****************/
int *arr2 = &(arr1[0][0]);
or
int *arr2 = *arr1;
or
int *arr2 = (int*)arr1;//这个就有些不好了

[ 本帖最后由 lintaoyn 于 2010-5-10 13:02 编辑 ]
#3
南国利剑2010-05-10 13:11
回复 楼主 hsnr

输出一个很大的数,很有可能输出了内存的地址。
分步执行,观察一下数组中的元素是否正确转换过来了。


[ 本帖最后由 南国利剑 于 2010-5-10 13:12 编辑 ]
#4
hsnr2010-05-10 18:46
问题已解决,谢谢帮助!
1