C++二维动态数组的创建与删除
来源:互联网 发布:undo歌曲知乎 编辑:程序博客网 时间:2024/05/22 00:41
C++中用new动态创建二维数组的格式一般是这样:
TYPE (*p)[N] = new TYPE [][N];
其中,TYPE是某种类型,N是二维数组的列数。采用这种格式,列数必须指出,而行数无需指定。在这里,p的类型是TYPE*[N],即是指向一个有N列元素数组的指针。
还有一种方法,可以不指定数组的列数:
int **p;
p = new int*[10];
for (int i = 0; i != 10; ++i)
{
}
这里是将p作为一个指向指针的指针,它指向一个包含10个元素的指针数组,并且每个元素指向一个有5个元素的数组,这样就构建了一个10行5列的数组。
当数组使用完毕,释放空间的代码是:
for(int i = 0; i != 5; i++)
{
}
处理二维数组,可以用降维或是二维法。
降维法是用一位数组来接受二维数组,将二维元素的首地址&a[0][0]作为参数,传递给函数,函数用int *接受。
二维法就直接用二维数组来接受,但是需要指定列数。
如要想创建一个[m][n]的二维数组。
下面为通过动态创建一个指针数组的方法来动态创建二维数组的方法。
C版本:
C++版本:
double **data;
data = new double*[m];
for(int j=0;j<m;j++)
{
data[j] = new double[n];
}
for (int i=0;i<m;i++)
{
}
for (i=0;i<m;i++)
{
}
delete[] data
这种方法是通过先动态创建一个指针数组,然后为指针数组的每个元素再动态指向一个数组的办法来完成的。其创建过程与销毁过程两样重要。
在销毁的过程,先销毁指针数组每个元素指向的数组,然后再销毁这个指针数组。
- C++二维动态数组的创建与删除
- C++二维动态数组的创建与删除
- C++二维动态数组的创建与删除
- C++二维动态数组的创建与删除
- C++二维动态数组的创建与删除
- C++二维动态数组的创建与删除
- 二维动态数组的删除和创建
- 【C++】动态二维数组的创建
- c/c++ 动态创建与释放二维数组
- C语言二维数组动态创建与释放
- 动态创建和删除二维数组
- C++动态创建和删除二维数组
- 二维数组的动态创建
- 二维数组的动态创建
- 二维数组的动态创建
- 二维动态数组的创建
- 动态创建二维vector数组 C和C++ 及指针与引用的区别
- C++ 二维动态数组的声明与删除
- 三种memcached的JAVA客户端比较
- Android ListView 去除边缘阴影、选中色、拖动背景色、行高、addFootView
- ANDROID之后没有UART输出kernel log的情况
- python: tornado例子
- DateTime.Now.ToString()12与24小时制
- C++二维动态数组的创建与删除
- PHP利用curl_init 傳值 GET方式
- Squid+Apache配置
- MTK F&Q
- linux下提示一些基本的命令找不到
- 三个annotation类型(RetentionPolicy,ElementType)
- 设计模式(java) ------ 工厂模式+策略模式+门面模式
- 关于ACE_Svc_Handler
- Android之input系统流程