怎样给多维数组动态分配内存

//Allocate:
int **p = new int* [m];
for(int i = 0 ; i < m ; i++)
  p[i] = new int[n];


//Use:
for(int i = 0 ; i < m; i++)
  for(int j = 0 ; j < n ; j++)
    p[i][j] = i * j;

//Free:
for(int i = 0 ; i < m ; i++)
  delete[] p[i];
delete[] p;

1. 演示形为int[2][3]的二维动态数组
///
int n1, n2;
const int DIM1 = 2;
const int DIM2 = 3;
// 构造数组
int **ppi = new int*[DIM1];
for(n1 = 0; n1 < DIM1; n1++)
{
  ppi[n1] = new int[DIM2];
}
// 填充数据
for(n1 = 0; n1 < DIM1; n1++)
{
  for(n2 = 0; n2 < DIM2; n2++)
  {
    ppi[n1][n2] = n1 * 10 + n2;
  }
}
// 输出
for(n1 = 0; n1 < DIM1; n1++)
{
  for(n2 = 0; n2 < DIM2; n2++)
  {
    afxDump << "ppi[" << n1 << "][" << n2 << "] = " << ppi[n1][n2] << "\n";
  }
}
// 释放数组
for(n1 = 0; n1 < DIM1; n1++)
{
  delete [] ppi[n1];
}
delete [] ppi;

2. 三维动态数组(int[2][3][4])
///
int n1, n2, n3;
const int DIM1 = 2;
const int DIM2 = 3;
const int DIM3 = 4;
// 构造数组
int ***ppi = new int**[DIM1];
for(n1 = 0; n1 < DIM1; n1++)
{
  ppi[n1] = new int*[DIM2];
  for(n2 = 0; n2 < DIM2; n2++)
  {
    ppi[n1][n2] = new int[DIM3];
  }
}
// 填充数据
for(n1 = 0; n1 < DIM1; n1++)
{
  for(n2 = 0; n2 < DIM2; n2++)
  {
    for(n3 = 0; n3 < DIM3; n3++)
    {
      ppi[n1][n2][n3] = n1 * 100 + n2 * 10 + n3;
    }
  }
}
// 输出
for(n1 = 0; n1 < DIM1; n1++)
{
  for(n2 = 0; n2 < DIM2; n2++)
  {
    for(n3 = 0; n3 < DIM3; n3++)
    {
      afxDump << "ppi[" << n1 << "][" << n2 << "][" << n3 << "] = "<< ppi[n1][n2][n3] << "\n";
    }
  }
}
// 释放数组
for(n1 = 0; n1 < DIM1; n1++)
{
  for(n2 = 0; n2 < DIM2; n2++)
  {
    delete [] ppi[n1][n2];
  }
  delete [] ppi[n1];
}
delete [] ppi;

转自:http://blog.gisforum.net/u/28376/archives/2007/316.html

转载于:https://www.cnblogs.com/sikale/archive/2011/02/28/1967530.html

动态多维数组在 VC 中的应用相关推荐

  1. 二维动态数组空间分配 c语言,科学网—C语言中动态二维数组的使用和分配 - 王一哲的博文...

    好多年不用C语言了,最后一次使用还是读研的时候写矩量法的时候了,看见VS的界面总能想起当年读书的时候的各种错误,往事随风.本程序应人之约,首先得到一个随机的矩阵,之后通过将矩阵分解为几个小矩阵统计小矩 ...

  2. C++动态二维数组演示的代码

    将代码过程中经常用到的代码珍藏起来,下边资料是关于C++动态二维数组演示的代码. #include <iostream> #include <string>using name ...

  3. C++建立动态二维数组

    C++建立动态二维数组主要有两种方法: 1.使用数组指针,分配一个指针数组,将其首地址保存在b中,然后再为指针数组的每个元素分配一个数组            int **b=new int*[row ...

  4. C++之定义动态二维数组

    C++之定义动态二维数组 直接上代码 #include"stdio.h" #include<iostream> using namespace std; int mai ...

  5. C++——C++创建动态二维数组+memset()函数初始化

    C++开辟动态二维数组的几种方法总结 原文链接:https://blog.csdn.net/xiang_shao344/article/details/99684395 一.用 new 来动态开辟一个 ...

  6. pb 创建动态二维数组

    pb中二维数组定义:array[10,10] 定义出来的二维数组是固定长度的:无法像一维数组一样动态长度:那PB中如何创建动态二维数组,请看接下来的内容. 1.先创建结构体structure 2.结构 ...

  7. c语言二维数组存储坐标,C语言的二维数组在内存中的存放顺序

    C语言的二维数组在内存中的存放顺序 发布时间:2020-06-28 18:23:49 来源:亿速云 阅读:708 作者:Leah 这期内容当中小编将会给大家带来有关C语言的二维数组在内存中的存放顺序, ...

  8. 动态二维数组赋值及for循环遍历和toString遍历

    package com.Summer_0421.cn;import java.util.Arrays;/*** @author Summer* 动态二维数组赋值及for循环遍历和toString遍历* ...

  9. 13.请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。

    13.请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中.二维数组中的数已在主函数中 ...

最新文章

  1. 用模板来进行类型检查。
  2. Java中利用socket实现简单的服务端与客户端的通信(中级)——实现任意双向通信
  3. Docker 的插件式设计
  4. 蓝桥杯java能用编译器1吗_学java的你,这些英文单词都掌握了吗?
  5. VNC客户端连接MacOS时一闪而过的解决办法
  6. docker 部署rabbitmq,k8s部署rabbitmq集群,跟踪和监控rabbitmq
  7. 打造黑苹果(六)设置无线网卡上网
  8. Netgear R6220刷潘多拉盒子后的WIFI配置,20HZ频宽下载速度达9M
  9. 湖北武汉劳务员培训劳务员的现场管理建筑七大员培训
  10. android gps 火星坐标,高德地图GCJ-02火星坐标系与GPS的WGS-84坐标系转换公式(安卓)...
  11. 【python】透小菜参加了华为和阿里的笔试。
  12. sql外键需要输入吗_关于sql:为什么在没有连接的情况下可以联接,为什么需要主-外键关系?...
  13. 强烈推荐 10 本我私藏的数据库书单,附读书方法
  14. 【debug】汇编跳转指令: JMP、JECXZ、JA、JB、JG、JL、JE、JZ、JS、JC、JO、JP 等
  15. TOPSIS法(理想解法)
  16. 意欧斯自主研发WMS、WCS系统,科技创新仓储物流管理
  17. CSS中Border(边框)
  18. python3 爬取淘女郎照片
  19. 概率论,加法原理,乘法原理,古典概型
  20. 信息安全服务资质(CCRC)简介

热门文章

  1. linux系统简单操作代码,Linux系统编程:简单文件IO操作(示例代码)
  2. html 怎么让tr的css覆盖td的_html表格标签
  3. 如何将adb shell里面查到的文件复制到本地电脑
  4. Android Studio对于Java8特性的支持
  5. 深度学习必备:随机梯度下降(SGD)优化算法及可视化
  6. vim 按照字段排序文件
  7. NumPy和Pandas常用库
  8. redis实现分布式锁——核心 setx+pipe watch监控key变化-事务
  9. Progressive Web App是一个利用现代浏览器的能力来达到类似APP的用户体验的技术——不就是chrome OS吗?...
  10. 【技术累积】【点】【编程】【13】XX式编程