首页
学习
活动
专区
圈层
工具
发布

C/C+进阶日记之如何在C中动态分配2D数组?

以下是在堆上创建2D数组(或动态分配2D数组)的不同方法。

在以下示例中,我们将“r”视为行数,将“c”视为列数,并创建了一个二维数组,其中r = 3,c = 4,并遵循以下值

1.使用单个指针:

一种简单的方法是使用简单的指针算法分配大小为r * c的存储块和访问元素。

输出:

2.使用指针数组

我们可以创建大小为r的指针数组。请注意,从C99开始,C语言允许使用可变大小的数组。创建指针数组后,我们可以为每行动态分配内存。

输出:

3.使用指向指针的指针

我们还可以使用双指针动态创建指针数组。一旦我们动态分配了数组指针,就可以像方法2一样为每行动态分配内存。

输出:

4.使用双指针和一个malloc调用

输出:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201207A0IB0A00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。
领券