分配和释放二维数组的动态内存得方法

分配和释放二维数组的动态内存得方法

//动态分配二维数组空间
{
m_iHight=10;//二维数组的高度
m_iWidth=10;//二维数组的宽度
//动态分配一个二维数组m_ppTable内存空间
//其类型为int
//m_ppTable指向该数组
int**m_ppTable;
m_ppTable=newint*[m_iHight];

//动态分配m_iHight个类型为int*的内存空间
//分配的是行地址空间
for(inti=0;i<m_iHight;i++)
m_ppTable[i]=newint[m_iWidth];

//动态分配m_iWidth个类型为int的内存空间
//分配的是某行的数值空间
}
//由此分配的二维数组空间并非是连续的
//可以使用m_ppTable[row][col]来给该二维数组赋值
//其中0<=row<m_iHight;0<=col<m_iWidth;


//释放所分配的内存空间
{
for(inti=0;i<m_iHight;i++)
delete[m_iWidth]m_ppTable[i];//以行为单位释放数值空间
delete[m_iHight]m_ppTable;//释放行地址空间
}