我使用以下代码动态为2d数组分配内存,
int **matrix = (int **) malloc(testVals[m].rows*sizeof(int));
for(int i = 0 ; i < testVals[m].rows ; i++)
matrix[i] = (int *) malloc(testVals[m].columns*sizeof(int));
但我需要根据要求添加额外的行和列。我可以像这样添加额外的行,我将矩阵转换为方矩阵
for(i = rows ; i < cols ; i++)
mat[i] = (int *) malloc(cols*sizeof(int));
但如何添加列呢?
答案 0 :(得分:0)
如果您需要添加列,可以在每行使用realloc: 也就是说,如果您需要添加N列,则通过将每一行扩展N来重新分配每一行。
编辑: 您可以查看此possible duplicate