首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券