首页 > 后端开发 > C++ > 如何从 C 函数安全地返回和管理 2D 数组?

如何从 C 函数安全地返回和管理 2D 数组?

Linda Hamilton
发布: 2024-12-26 17:59:10
原创
694 人浏览过

How to Safely Return and Manage a 2D Array from a C   Function?

从 C 中的函数返回 2D 数组

在 C 中使用 2D 数组时,提供的代码中提供的方法不是受到推崇的。相反,请考虑实现以下函数:

int** create2DArray(unsigned height, unsigned width)
{
    int** array2D = 0;
    array2D = new int*[height];

    for (int h = 0; h < height; h++)
    {
        array2D[h] = new int[width];

        for (int w = 0; w < width; w++)
        {
            // Initialize array elements as needed
        }
    }

    return array2D;
}
登录后复制

此函数将所需二维数组的高度和宽度作为无符号整数,并为其动态分配内存。先分配外层数组,然后在循环内分配内层数组。

使用后记得释放内存,防止内存泄漏。这可以通过循环遍历元素并删除内部和外部数组来完成。

用法示例:

int height = 15;
int width = 10;
int** my2DArray = create2DArray(height, width);
// Use the array as needed
// ...
for (int h = 0; h < height; h++)
{
    delete [] my2DArray[h];
}
delete [] my2DArray;
my2DArray = 0; // Set pointer to null to prevent dangling pointer
登录后复制

以上是如何从 C 函数安全地返回和管理 2D 数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板