c++ 用new创建二维数组~创建指针数组【转】

#include <iostream>
using namespace std;

void main()
{
//用new创建一个二维数组,有两种方法,是等价的
//一:
int (*p)[10] = new int[5][10];
//二:
int **p = new int* [5];
for(int i=0;i <5;i++)
p[i] = new int[10];

//指针数组的创建,也有两种方法
//一:
char **pa = new char* [4];
for (int i=0;i <4;i++)
{
pa[i] = new char[8]; //为每个指针都分配8个char元素空间。
}
//二:
char *pa[4];//可以不用new创建
for (int i=0;i <4;i++)
{
pa[i] = new char[8]; //为每个指针都分配8个char元素空间。
}


//delete二维数组
//for一:
delete []p;
//for二:
for(int i=0; i <5; ++i)
delete []p[i];
delete []p;

//delete指针数组
//for一:
for(int i=0; i <4; ++i)
delete []pa[i];
delete []pa;
//for二:
for(int i=0; i <4; ++i)
delete []pa[i];
}

from here

原文地址:https://www.cnblogs.com/chenhuan001/p/7373448.html