如何new与delete各种二维数组
来源:互联网 发布:阿里妈妈淘宝联盟佣金 编辑:程序博客网 时间:2024/06/04 18:56
#define M 10U
#define N 20
第一种,可以直接[][]访问。但是内存不连续,不是很推荐使用,除非M\N都不确定
定义的时候
int** pNum;//以int为例
pNum = new int*[M];
for(int i=0;i<M;i++)
{
pNum[i]=new int[N];
}
//删除的时候是
for(int j=0;j<M;j++)
{
delete []pNum[i];
}
delete []pNum;
第二种,内存连续,但是不能[][],最推荐的一种。不能[][]但是你可以通过[i*n+j]来计算 这种是1维数组转化为2维数组
int* a = new int[M*N]; // a[i*n+j]是a[i][j]
delete []a;
第三种,内存不连续,可以[][],是第一种情况的特例,局限性比较大,比第一种好在能直接delete,方便
如果你确实知道N是多少,那么可以用这种,比如说二维数组做形参的时候(此时内存连续),不是很推荐使用
int (*pNum3)[N] = new int[M][N];
delete[] p;
return 0;
}
- 如何new与delete各种二维数组
- 如何new与delete各种二维数组
- 如何new与delete各种二维数组
- 二维数组与new/delete
- new与二维数组
- 模板:使用new delete 创建二维数组
- 二维数组的new 和 delete
- 使用new和delete创建二维数组
- 如何 new 一个二维数组
- 如何new一个二维数组
- new/delete多维数组/malloc分配动态二维数组
- 利用new定义二维数组,delete删除…
- new和delete以及malloc和free 二维数组
- 二维数组的动态分配(new)、初始化(memset)和撤销(delete)
- 利用new定义二维数组,delete删除内存空间
- new delete 实现动态分配和释放二维数组
- 二维数组的使用(new,delete,初始化,输出)
- c++二维动态数组分配与delete
- Android 编译工具 Ant
- Spring3整合Struts2
- C++构造函数和析构函数
- 利用dispatch_once创建单例
- 实现接口的枚举类 学习笔记(一)
- 如何new与delete各种二维数组
- poj1019 Number Squence
- 使用 /sys 文件系统访问 Linux 内核
- java基础之基本算法
- python给文件写入/追加内容时输出x00和乱码的问题
- GitHub Android 开源项目汇总
- HDOJ 1010 解题
- [剑指offer][面试题37]两个链表的第一个公共节点
- UIWebView 点击获得坐标