-1
这个函数是什么错误,这是预计将一个行和一列添加到给定的二维数组?矩阵是对称的。函数修改二维数组添加行使用realloc一列
void updateMatrix(double ***mat, int size, double *vec)
{ // mat is sizeXsize matrix, length of vec is size+1
*mat = (double**)realloc(*mat, (size + 1)*sizeof(double*));
(*mat)[size] = (double*)malloc((size + 1)*sizeof(double));
for(int i = 0; i < size + 1; i++) {
(*mat)[size][i] = vec[i];
}
for(int i = 0; i < size; i++) {
(*mat)[i] = (double*)realloc((*mat)[i], (size + 1)*sizeof(double));
(*mat)[i][size] = vec[i];
}
}
很难说,你遇到了什么问题?你有构建错误吗?运行时错误或崩溃?意外的结果?还有别的吗? –
另外,不要重新分配你自己重新分配的指针,想想如果'realloc'失败并返回'NULL'会发生什么。 –
分段错误 –