指针-动态数组的建立
2015-12-21 13:07
337 查看
一、一维动态数组的建立
1.1 malloc数组的建立:
int * p = (int *)malloc(sizeof(int)*n);
数组的删除:
free(p);
1.2 new
数组的建立:
int * p = new int ;
数组的删除:
delete [] p;
二、二维动态数组的建立
2.1 malloc数组的建立:
int ** p = (int **)malloc(sizeof(int *)* n); for (int i =0; i<n; i++) { p[i] = (int *)malloc(sizeof(int)*n); }
数组的删除:
for (int i=0; i<n; i++) { free(p[i]); } free(p);
2.2 new
数组的建立:
int ** p = new int * ; for (int i =0; i<n; i++) { p[i] = new int ; }
数组的删除:
for (int i =0; i<n; i++) { delete [] p[i]; } delete p;
三、动态指针的建立
3.1 mallocint * p = (int *)malloc(sizeof(int )); free(p);
3.2 new
int * p = new int; delete int;
四、指针的指针的建立
4.1 mallocint ** p = (int **)malloc(sizeof(int *)); free(p);
4.2 new
int ** p = new int *;
五、其他的说明
malloc分配的内存,在C中,将内存分配在堆中;在C++中,分配在自由存储区,由free结束使命。new只能在C++中使用,内存分配在堆中。用delete删除指针。
相关文章推荐
- 什么时候执行full gc
- ios Foundation框架中的可变和不可变对象NSDictionary和NSMutableDictionary(三)
- 正则表达式总结
- 121,数组排序
- CodeSnippetsLibrary的使用方法
- MySQL性能优化之参数配置
- redis之列表类型(list)——队列和栈简单实现
- js对时间的操作
- Codeforces 605D. Board Game (BFS+线段树套SBT+离散化)
- 备忘录模式
- 基本Web概念学习
- eclipse开发j2ee项目,自定义tomcat部署路径
- C语言--汇总
- 360与百度的竞争分析
- 关于veloeclipse的配置问题
- 黑客应用之:net使用方法(2)
- 使用setTimeout()实现页面自动刷新数据
- ios Foundation框架中的可变和不可变对象(三)
- Redis学习笔记(一) Redis安装与基本使用(windows)
- 文本分类入门(番外篇)特征选择与特征权重计算的区别