[英]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.