C++中用new动态创建二维数组的格式一般是这样:
TYPE (*p)[N] = new TYPE [][N];
其中,TYPE是某种类型,N是二维数组的列数。采用这种格式,列数必须指出,而行数无需指定。在这里,p的类型是TYPE*[N],即是指向一个有N列元素数组的指针。
还有一种方法,可以不指定数组的列数:
int **p;
p = new int*[10]; //注意,int*[10]表示一个有10个元素的指针数组
for (int i = 0; i != 10; ++i)
{
p[i] = new int[5];
}
这里是将p作为一个指向指针的指针,它指向一个包含10个元素的指针数组,并且每个元素指向一个有5个元素的数组,这样就构建了一个10行5列的数组。
当数组使用完毕,释放空间的代码是:
for(int i = 0; i != 5; i++)
{
delete[] p[i];
}
delete[] p;
处理二维数组,可以用降维或是二维法。
降维法是用一位数组来接受二维数组,将二维元素的首地址&a[0][0]作为参数,传递给函数,函数用int *接受。
二维法就直接用二维数组来接受,但是需要指定列数。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/rainer7/archive/2007/05/10/1602894.aspx
分享到:
相关推荐
对于二维数组的初始化,我们可以采取多种方法,这取决于你的具体需求和数组的大小。以 下是一些二维数组初始化的例子和解释,希望能够帮助你更好地理解这个概念。在 C 语言中,二维数组是一种非常常用的数据结构,它...
### 一、创建二维向量 首 先 , 我 们 需 要 包 含 必 要 的 头 文 件 , 并 创 建 一 个 二 维 向 量 。 这 里 我 们 使 用 `std::vector<std::vector<int>>`来表示一个二维整数数组。 ```cpp #include #include ...
C/C++进阶书籍系列C/C++程序员进阶之路高清pdf系列书籍之--C++编程思想[第二卷]pdf
java中一堆数组的应用
C/C++进阶书籍系列C/C++程序员进阶之路高清pdf系列书籍之--C++编程思想[第一卷]pdf
设计模式专题之(一)单例模式---设计模式单例模式示例代码(python--c++)
室内家具布局图zzl (2).vsdx
设计模式专题之(九)组合模式---设计模式组合模式示例代码(python--c++)
设计模式专题之(二十一)状态模式---设计模式状态模式示例代码(python--c++)
设计模式专题之(二十二)解释模式---设计模式解释模式示例代码(python--c++)
设计模式专题之(八)适配器模式---设计模式适配器模式示例代码(python--c++)
设计模式专题之(十四)命令模式---设计模式命令模式示例代码(python--c++)
设计模式专题之(十七)中介者模式--设计模式中介者模式示例代码(python--c++)
为了实现这一过程,算法通常需要一个距离数组来记录从源点到各个顶点的最短距离,以及一个标记数组来记录各个顶点是否已经被处理过。在每次迭代中,算法会从距离数组中选择一个距离最小的未处理顶点,然后更新与该...
资源分类:Python库 所属语言:Python 资源全名:light1_zzl-0.0.3-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
用c++建立链表,实现链表的插入、删除、查找等功能
以下是一个简单的C++程序,用于生成斐波那契数列的前n项:斐波那契数列是一个在自然界中广泛出现的数列,其定义是:第一个和第二个数都是1,从第三个数开始,每一个数都是前两个数之和。斐波那契数列的前几项是:1, ...
C和C++作为两种基础的编程语言,被广泛应用于各种领域。而Visual Studio Code(VSCode)作为一款轻量级的代码编辑器,凭借其强大的功能和灵活的扩展性,受到了众多开发者的青睐。下面将详细介绍如何在VSCode中配置C/...
设计模式专题之(三)抽象工厂模式---设计模式抽象工厂模式示例代码(python--c++)