刚刚学习C/C++的时候,这个问题一直困扰这我,但是随着学习的深入,我渐渐掌握了相关的知识来解决这样的问题,今天利用午休的时间写了这篇博文,如有错误,希望可以给我留言,一起进步学习。
源代码:
/*
Author:Qinpeizhi
Time:2015年6月12日12:29:11
Question:利用动态内存分配实现一个3*4二维数组。
*/
#include<iostream>
using namespace std;
int main(void)
{
int** p=NULL,i=0,j=0;
p=new int*[3];
for(i=0;i<3;i++)
{
*(p+i)=new int[4];
for(j=0;j<4;j++)
{
*(*(p+i)+j)=j;//0,1,2,3
}
}
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
cout<<*(*(p+i)+j);
}
cout<<endl;
}
for(i=0;i<3;i++)
{
delete [] (p+i);//p+i 会报错,因为p+i的地址并没有被分配内存
}
delete p;
p=NULL;
return 0;
}