c - 向矩阵添加额外的列

标签 c arrays matrix 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));

但是如何添加列呢?

最佳答案

您可以使用realloc如果您需要添加一列,请在每一行上: 也就是说,如果您需要添加 N 列,则可以通过将每一行扩展 N 来重新分配每一行。

编辑: 你可以看看这个possible duplicate

关于c - 向矩阵添加额外的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23189774/

相关文章:

c - 获取每个文件行的整数个数

c++ - 将二维数组传递给 C++ 中的函数

php - MySQL 通过一个查询获取多个值并将它们转换为可打印变量

matrix - 在对角线条中遍历矩形矩阵

c++ - 矩阵转置模板

c - 在 C 循环中生成 R 矩阵

c++ - OpenCV 错误:断言失败 ((unsigned)i0 < (unsigned)size.p[0]) in cv::Mat::at

c - 使用结构和指针数组时出错 : incompatible types in assignment

c - 在外部结构初始化中反射(reflect)内部结构

javascript - Discord RPG Bot 显示数组中每个玩家的 ID