C++中给二维指针分配内存(实现代码)

首页 > 软件编程 > C 语言 更新日期: 2015-10-08
我们都知道在 C++ 中分配动态数组用的是 new , 撤销动态数组用的是 delete ,现在让我们来看看怎么利用这两个关键字给二维指针分配内存

原理就不写在这里了,毕竟网上的介绍有很多,代码如下所示:

代码如下:

#include <iostream>
using namespace std;

#define  N  5
#define  M  10

int main(int argc, char **argv)
{
 int **p;
 int i,j;

 p = new int* [N];
 for (i = 0; i < N; i++)
  p[i] = new int [M];

 for (i = 0; i < N; i++)
  for (j = 0; j < M; j++)
   p[i][j] = i + j;

 for (i = 0; i < N; i++)
 {
  for (j = 0; j < M; j++)
  { 
   cout<<"["<<p[i][j]<<"]"<<"  ";
   cout<<*(*(p + i) + j)<<" "<<endl;
  }
  cout<<endl;
 }

 for (i = 0; i < N; i++)
 {
  delete [] p[i];
  p[i] = NULL;
 }
 delete [] p;
 p = NULL;

 return 0;
}


> 本站内容系网友提交或本网编辑转载,其目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时与本网联系,我们将在第一时间删除内容!

相关文章
  • 二维指针动态分配内存连续问题深入分析
    二维指针动态分配内存连续问题深入分析
    当我们定义一个二维指针时,如果需要存储相应的数据,就需要我们动态的分配内存,这时,有一点是需要注意的,分配内存的方法不同,内存的连续性也是不相同的首先,小编先贴出测试代码: 代码如下:#include <cstdlib>#include <iostream>using namespace std;#define nWidth  3#d ...
  • JS中取二维数组中最大值的方法汇总
    本文通过三种解决方案给大家介绍js中取二维数组中最大值的方法.介绍的非常详细,具有参考价值在JavaScript中可以通过内置的 Math.max() 的最大值,但是要从多重数组中取出最大值,还是有一定的难度. 问题描述 假设你有一个数组,而且这个数组中包含了数字的子数组,而我们要做的是从数组中的每个子数组中返回其最大的那个最大数. 基本解决方案 funct ...
  • Lua中使用二维数组实例
    这篇文章主要介绍了Lua中使用二维数组实例,本文直接给出代码实例,看代码更容易理解,需要的朋友可以参考下在Lua中跟JS也是一样,没有二维数组的概念,但是二维数组对我们的开发又是极其的重要,当然,使用很多啦.谈谈在Lua中如何使用二维数组? 原理,一维数组里面给一个嵌套就是二维数组了,好,就那么简单,看看代码更容易理解 最近在做一个项目,如下是部分代码 fo ...
  • 探讨php中遍历二维数组的几种方法详解
    本篇文章是对php中遍历二维数组的几种方法进行了详细的分析介绍,需要的朋友参考下 代码如下:<?php//使用for循环遍历$arr2=array(array("张三","20","男"),array("李四","25","男"),a ...
  • 一些Python中的二维数组的操作方法
    这篇文章主要介绍了一些Python中的二维数组的操作方法,是Python学习当中的基础知识,需要的朋友可以参考下需要在程序中使用二维数组,网上找到一种这样的用法:  #创建一个宽度为3,高度为4的数组 #[[0,0,0], # [0,0,0], # [0,0,0], # [0,0,0]] myList = [[0] * 3] * 4 但是当操作myList[ ...
猜你喜欢