繁体   English   中英

二维数组的动态malloc

[英]dynamic malloc for two-dimensional array

我为矩阵分配了内存块。 我比周期还记得行骗者。
我收到未处理的异常:_tmain周期中的访问冲突写入位置0x00557148。 我怎么了

double **d; 

#define COUNT 10 

int create()
{
    d = (double**) malloc(COUNT * sizeof(double*));
    if (!d)
        return 0; 
    int size = COUNT * sizeof(double); 
    double *_new =  (double*) malloc(COUNT * size);

    if (!_new)
        return 0; 
    for (int i = 0; i < COUNT; i++) {
        d[i] = _new;
        _new += size; 
    }

    return 1; 
}

int _tmain(int argc, _TCHAR* argv[])
{
    double *_d; 
    if (create()) {
        for(int i = 0; i < COUNT; i++) {
            _d = d[i]; 
            for (int j = 0; j < COUNT; j++)
                _d[j] = 5; 
        }
    } else
        return -1;

    return 0;
}

我很确定您需要将_new += size更改为_new += COUNT

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM