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

//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;

如何在VC中创建动态数组相关推荐

  1. 如何在Excel中创建动态定义的范围

    Your Excel data changes frequently, so it's useful to create a dynamic defined range that automatica ...

  2. python动态创建字典_如何在Python中创建动态命名字典?

    与其尝试动态生成一个动态数量的变量名,不如选择另一个更高级别的数据结构来存储对象,例如字典或列表.在import pandas as pd REFERENCE_CODE = ["ladder ...

  3. java 数组json_如何在Java中创建JSON数组

    我有一个 JSON结构如下.如何以编程方式创建此Array结构? JSON结构: { "Employee": [ { "EmP325235": { " ...

  4. python 空矩阵_在NumPy中创建空数组/矩阵的方法

    如何在NumPy中创建空数组/矩阵? 在添加行的情况下,你最好的选择是创建一个与数据集最终一样大的数组,然后向它添加数据 row-by-row: >>> import numpy & ...

  5. 如何在 bash 中使用索引数组

    数组是一种数据结构,表示具有相同数据类型的对象集合.bash shell中支持两种类型的数组:关联数组或索引数组.在本文中,将演示如何在 bash 中使用索引数组.以下使用 shell 示例来说明索引 ...

  6. [unreal4入门系列之十五] UE4中的动态数组:TArray容器

    为什么使用UE4提供的容器类? 如果你用过C++的STL库,你就知道STL提供了各种各样的容器/数据结构,使得你对处理很多数据的时候非常快捷高效.UE4同样也提供了类似的库,库里面的类型是以T开头的, ...

  7. html树状图右侧_如何在 Tableau 中创建控制图?

    本文作者:Jose Valero 控制图是用于研究流程如何随时间变化,并确定制造或业务流程是否在统计控制状态下的图表. 我相信这对每家公司来说都是一个有益的工具,所以在这篇文章中,我将尝试如何在 Ta ...

  8. 研一寒假02-指针_new分配内存_使用new来创建动态数组_使用动态数组_使用delete来释放new分配的内存...

    #---------------------------------指针-----------------------------------# #include <iostream> i ...

  9. vj节点_创意编码—如何在JavaScript中创建VJ引擎

    vj节点 by George Gally 通过乔治·加利 创意编码-如何在JavaScript中创建VJ引擎 (Creative Coding - How to create a VJ engine ...

最新文章

  1. torchvision.transforms 的CenterCrop():在图片的中间区域进行裁剪
  2. lstm数学推导_手推公式:LSTM单元梯度的详细的数学推导
  3. 基因分子生物学~tRNA,mRNA,蛋白质合成
  4. 如何手动修改oracle表空间,ORACLE数据库创建和修改表空间
  5. xshell 连接不了 centos7
  6. p2000专业软件测试对比,对比说说丽台p2000和p2200对比哪个好些?有何区别呢?良心点评实际情况...
  7. CV学习笔记-数字图像概述
  8. /usr/lib64/libssl.so.10: no version information available (required by ./mongod)
  9. resetuser.php,Php开发过程中不常碰到的error (2.25更新)
  10. Unix网络编程-同步
  11. SolidWorks二次开发随记(一)
  12. 【分享】第48次中国互联网络发展状况统计报告- 数据截止2021年6月
  13. 【寒江雪】Go实现策略模式
  14. Introduction to Modern cryptograhy阅读笔记(二)
  15. 深度学习框架zf_深度学习十大框架比较
  16. win10的怎么调计算机亮度,Win10系统调节屏幕亮度的三种方法【图文】
  17. 高通平台开发系列讲解(系统篇)coredump
  18. 在群晖NAS上搭建 Git Server
  19. jQuery.on() 函数详解
  20. 基于python的股票程序化交易论文_基于Python工具的股票量化投资策略研究

热门文章

  1. pbr 多出口_结合BFD基于PBR的多出口流量转发的控制与备份
  2. Linux下pwn从入门到放弃,pwn从入门到放弃第六章——简单ROP
  3. spring bean加载过程_Spring源码剖析3:Spring IOC容器的加载过程
  4. vue $data data
  5. Spring+Ibatis集成开发实例
  6. ObservableCollection 类 详解
  7. C#中的String编码转换
  8. 面试lua笔试题各种坑
  9. WPF窗口继承实现统一风格的自定义窗口
  10. 微信小程序开发02-小程序基本介绍