以下是在堆上创建2D数组(或动态分配2D数组)的不同方法。
在以下示例中,我们将“r”视为行数,将“c”视为列数,并创建了一个二维数组,其中r = 3,c = 4,并遵循以下值
1.使用单个指针:
一种简单的方法是使用简单的指针算法分配大小为r * c的存储块和访问元素。
输出:
2.使用指针数组
我们可以创建大小为r的指针数组。请注意,从C99开始,C语言允许使用可变大小的数组。创建指针数组后,我们可以为每行动态分配内存。
输出:
3.使用指向指针的指针
我们还可以使用双指针动态创建指针数组。一旦我们动态分配了数组指针,就可以像方法2一样为每行动态分配内存。
输出:
4.使用双指针和一个malloc调用
输出:
领取专属 10元无门槛券
私享最新 技术干货