C/C++中的二维数组动态内存分配与释放
C语言:
//二维数组动态数组分配和释放
//数组指针的内存分配和释放
//方法一
char (*a)[N];
//指向数组的指针
a = (char (*)[N])malloc(sizeof(char [N]) * m);
free(a);
//方法二
char **a;
int i;
a = (char **)malloc(sizeof(char *) * m);
//分配指针数组
for(i=0;
i
C++:
//二维数组动态数组分配和释放
//数组指针的内存分配和释放
//方法一
char (*a)[N];
//指向数组的指针
a = new char[m][N];
delete[] a;
//方法二
char **a;
a = new char* [m];
//分配指针数组
for(int i=0;
i
注意:
new和delete要注意配对使用,即有多少个new就有多少个delete,这样才可以避免内存泄漏!
From:http://blog.csdn.net/huazhigang/article/details/11745551
推荐阅读
- c/c++|有感 Visual Studio 2015 RTM 简介 - 八年后回归 Dot Net,终于迎来了 Mvc 时代,盼走了 Web 窗体时代...
- C/C++|C/C++ basis 02
- Qt实战|Qt+OpenCV联合开发(二十一)--图像翻转与旋转
- Qt实战|Qt+OpenCV联合开发(十四)--图像感兴趣区域(ROI)的提取
- Qt实战|Qt+OpenCV联合开发(十三)--通道分离与合并
- opencv|Qt+OpenCV联合开发(十六)--图像几何形状绘制
- Qt实战|Qt+OpenCV联合开发(十七)--随机数与随机颜色
- SNAT的MASQUERADE地址选择与端口选择
- IPTABLES的连接跟踪与NAT分析
- IPVS分析