如何为矩阵(2DArray)动态分配内存,其中行和列也是动态分配的

  • 本文关键字:动态分配 内存 2DArray c++ c
  • 更新时间 :
  • 英文 :


在我的代码中,它只为一个矩阵分配内存。当我试图为两个矩阵分配内存时,这里只有两列内存在分配,没有其他机会为第二个矩阵分配存储器。

这是我的代码

void 2DArray()
{
int noOfRows, noOfColumns, noOfMatrices;
printf("nn ENTER THE NUMBER OF  MATRICES YOU WANT TO ADD : ");
scanf("%d",&noOfMatrices);
int **2DArray = (int**)malloc((noOfMatrices * sizeof(int)));
for(int i = 0; i < noOfMatrices; i++)
{
2DArray[i] = (int*)malloc((sizeof(int) * noOfRows));
}
}

请帮帮我!

在C:中

void *allocate2DintArray(size_t cols, size_t rows)
{
int (*arr)[rows][cols];
return malloc(sizeof(*arr));
}

在C++中(可能的方法之一(

vector <vector <int>> Matrix(rows, vector <int>(cols, 0));

最新更新