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

//动态分配二维数组空间
{
  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;     //释放行地址空间
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值