二维数组的动态内存分配和释放 (转)[@more@]
//动态分配二维数组空间
{
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_ppTable[i]= new int[m_iWidth];
//动态分配m_iWidth个类型为int的内存空间
//分配的是某行的数值空间
}
//由此分配的二维数组空间并非是连续的
//可以使用m_ppTable[row][col]来给该二维数组赋值
//其中 0<=row
//释放所分配的内存空间
{
for(int i=0;i delete[m_iWidth]m_ppTable[i]; //以行为单位释放数值空间
delete [m_iHight]m_ppTable; //释放行地址空间
}
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-990801/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10752043/viewspace-990801/
本文详细介绍了如何在C++中动态分配和释放二维数组的内存空间,并提供了具体代码实现。通过对行地址空间和数值空间的分配,实现了非连续的二维数组布局。
1118

被折叠的 条评论
为什么被折叠?



