二维数组new和delete如何用

二维数组new和delete怎么用
char **str;
int **p;


求教以上2个二维数组的new和delete标准写法.

------解决方案--------------------
二维数组话,需要知道中元素的个数
比如是char str[10][20];
char** str=new char*[10]
delete[] str;

int **p=new int*[10];
delete[] p;

------解决方案--------------------
示例给你一个:
#include <iostream>
using namespace std;

#define ROW 4
#define COL 6

int main()
{
int row = ROW;
int col = COL;
int i,j,n=1;

int **b = new int*[row];//分配一个指针数组,并将其首地址保存在b中
for(i=0;i<row;i++)
b[i] = new int[col]; //为指针数组的每个元素分配一个数组

for(i=0;i<row;i++) //赋值
for(j=0;j<col;j++)
b[i][j]=n++;

for(i=0;i<row;i++) //输出
{
for(j=0;j<col;j++)
cout << b[i][j] << " ";
cout << endl;
}

for(i=0;i<row;i++) //释放
{
delete[] b[i]; //释放为指针数组的每个元素分配一个数组
b[i]=NULL; //将其指针设为空
}

delete[] b; //释放指针数组
b =NULL;

return 0;
}