我使用下面的代码动态为二维数组分配内存,
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));
但是如何添加列呢?
最佳答案
您可以使用realloc如果您需要添加一列,请在每一行上: 也就是说,如果您需要添加 N 列,则可以通过将每一行扩展 N 来重新分配每一行。
编辑: 你可以看看这个possible duplicate
关于c - 向矩阵添加额外的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23189774/