以下是在堆上创建2D数组(或动态分配2D数组)的不同方法。
在以下示例中,我们将“ r ”视为行数,将“ c ”视为列数,并创建了一个二维数组,其中r = 3,c = 4,并遵循以下值
1 2 3 4
5 6 7 8
9 10 11 12
1.使用单个指针:
一种简单的方法是使用简单的指针算法分配大小为r * c的存储块和访问元素。
#include
#include
int main()
{
int r = 3, c = 4;
int *arr = (int *)malloc(r * c * sizeof(int));
int i, j, count = 0;
for (i = 0; i < r; i++)
for (j = 0; j < c; j++)
*(arr + i*c + j) = ++count;
for (