动态生成一维数组是使用:int *a=new int[3];
动态生成二维数组就比较麻烦了:

int row,column;
cin>>row>>column;

//方法一
//申请空间
//先申请指针的指针
int ** a = new int *[row];
//再给每行分配内存
for(int i = 0;i < row;i++)
a[i] = new int[column];

//使用空间
for(int j = 0;j < row;j++)
for(int k = 0;k< column;k++)
a[j][k] = rand()%100;

for(int j = 0;j < row;j++)
{
cout<<endl;
for(int k = 0;k< column;k++)
{
a[j][k] = rand()%100;
cout<<a[j][k]<<" ";
}
}

//释放空间
for(int i = 0;i < row;i++)
{
delete a[i];
a[i] = NULL;
}
delete [row]a;
a = NULL;

return 0;