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

王朝vc·作者佚名  2006-01-08
宽屏版  字体: |||超大  

//动态分配二维数组空间

{

m_iHight=10;//二维数组的高度

m_iWidth=10;//二维数组的宽度

//动态分配一个二维数组m_ppTable内存空间

//其类型为int

//m_ppTable指向该数组

int **m_ppTable;

m_ppTable=new int *[m_iHight];

//动态分配m_iHight个类型为int *的内存空间

//分配的是行地址空间

for(int i=0;i<m_iHight;i++)

m_ppTable[i]= new int[m_iWidth];

//动态分配m_iWidth个类型为int的内存空间

//分配的是某行的数值空间

}

//由此分配的二维数组空间并非是连续的

//可以使用m_ppTable[row][col]来给该二维数组赋值

//其中 0<=row<m_iHight;0<=col<m_iWidth;

//释放所分配的内存空间

{

for(int i=0;i<m_iHight;i++)

delete[m_iWidth]m_ppTable[i]; //以行为单位释放数值空间

delete [m_iHight]m_ppTable; //释放行地址空间

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有