数组的动态内存分配

#include <iostream>

//一维数组
void oneDimensionalArray()
{
//定义一个长度为10的数组
int* array = new int[10];
//赋值
for(int i = 0; i < 10; i++)
{
array[i] = i*2;
}
//打印
for(int i = 0; i < 10; i++)
{
std::cout << i << " : " << array[i] << std::endl;
}
//释放内存
delete[] array;
} //二维数组
void twoDimensionalArray()
{
//定义一个2*10的二维数组
int** array = new int*[2];
for(int i = 0; i < 2; i++)
{
array[i] = new int[10];
}
//赋值
for(int i = 0; i < 2; i++)
{
for(int j = 0; j < 10; j++)
{
array[i][j] = i*10 + j;
}
}
//打印
for(int i = 0; i < 2; i++)
{
for(int j = 0; j < 10; j++)
{
std::cout << "(" << i << ", " << j << ")" << array[i][j] << std::endl;
}
}
//释放内存
for(int i = 0; i < 2; i++)
{
delete[] array[i];
} delete[] array;
} //三维数组
void threeDimensionalArray()
{
//定义一个3*10*20的数组
int*** array = new int** [3]; for(int i = 0; i < 3; i++)
{
array[i] = new int*[10];
for(int j = 0; j < 10; j++)
{
array[i][j] = new int[20];
}
}
//赋值
for (int i = 0; i < 3; i++)
{
for(int j = 0; j < 10; j++)
{
for(int k = 0; k < 20; k++)
{
array[i][j][k] = i*100 + j*10 + k;
}
}
}
//打印
for (int i = 0; i < 3; i++)
{
for(int j = 0; j < 10; j++)
{
for(int k = 0; k < 20; k++)
{
char str[64];
sprintf(str, "(%d, %d, %d): ", i, j, k);
std::cout << str << array[i][j][k] <<std::endl;
}
}
}
//释放内存
for (int i = 0; i < 3; i++)
{
for(int j = 0; j < 10; j++)
{
delete[] array[i][j];
}
}
for (int i = 0; i < 3; i++)
{
delete[] array[i];
} delete[] array; } int main()
{
threeDimensionalArray();
return 0;
}

C++ 数组动态分配的更多相关文章

  1. c 二维数组动态分配和释放

    c动态语言 函数声明的头文件在<stdlib.h>里 使用malloc函数为字符串分配内存 -->记得释放内存 free() #include <stdio.h> #in ...

  2. 【算法】C语言实现数组的动态分配

    C语言实现数组的动态分配 作者:白宁超 2016年10月27日20:13:13 摘要:数据结构和算法对于编程的意义不言而喻,具有指导意义的.无论从事算法优化方向研究,还是大数据处理,亦或者网站开发AP ...

  3. C++内存分配及变长数组的动态分配

    //------------------------------------------------------------------------------------------------ 第 ...

  4. C++中二维数组的动态分配

    C++中二维数组的动态分配 作者:   来源:csdn博客   公布者:admin 时间:2009-04-23 13:55:03   点击:115 C++中一维数组的动态分配十分经常使用,但C++刚開 ...

  5. 二维数组的动态分配(new)、初始化(memset)和撤销(delete)

    来自http://blog.csdn.net/maverick1990/article/details/22829135 一维数组 动态分配,int *array = new int[10] 初始化, ...

  6. c指针与数组,传参问题,指针数组与数组指针的区别,二维数组动态内存分配

    一 数组的结构:顺序存储,看谭浩强中的图,牢记 1.数组名指代一种数据结构:数组 现在可以解释为什么第1个程序第6行的输出为10的问题,根据结论1,数组名str的内涵为一种数据结构,即一个长度为10的 ...

  7. 【C语言探索之旅】 第二部分第八课:动态分配

    内容简介 1.课程大纲 2.第二部分第八课: 动态分配 3.第二部分第九课预告: 实战“悬挂小人”游戏 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言 ...

  8. mfc 动态分配内存

     动态内存分配new  为数组动态分配内存  为多维数组分配内存  释放内存delete malloc free  动态内存分配new int * pi; pi= new int ;  为 ...

  9. 快速学习C语言一: Hello World

    估计不会写C语言的同学也都听过C语言,从头开始快速学一下吧,以后肯定能用的上. 如果使用过其它类C的语言,如JAVA,C#等,学C的语法应该挺快的. 先快速学习并练习一些基本的语言要素,基本类型,表达 ...

随机推荐

  1. python学习相关软件安装

    爬虫初学者必装的软件!! 一.安装python step1:安装包下载 1.1.官网下载地址:https://www.python.org/ 根据自己电脑系统选择,我选择windowns 有不同版本可 ...

  2. linux运维、架构之路-cobbler无人值守

    一.cobbler介绍 Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装.重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等 1.主要功能:①Cobbl ...

  3. visual studio 2017激活

    VS2017专业版和企业版激活密钥   Enterprise: NJVYC-BMHX2-G77MM-4XJMR-6Q8QF Professional: KBJFW-NXHK6-W4WJM-CRMQB- ...

  4. MySQL 数据库慢查询日志分析脚本

    这个脚本是基于pt-query-digest做的日志分析脚本,变成可视化的格式. 目录结构是 ./mysql_data/log./mysql_data/log/tmp./slow_query # co ...

  5. [HG]钻石游戏diamond 题解

    题面 钻石游戏(diamond) 问题描述: 一个\(M\)行\(N\)列的棋盘,里面放了\(M \times N\)个各种颜色的钻石. 每一次你可以选择任意两个相邻的颜色不同的钻石,进行交换.两个格 ...

  6. 区间查询异或最大值——cf1100F,hdu6579

    cf1100F是静态区间查询最大值,有离线的解法,我感觉线段树或者莫队应该都能过 更优秀的解法可以在线并支持修改,可以解决hdu6579,即依次插入每个数,pos[i][j]表示在插第i个数时第j个基 ...

  7. bootstrap-multiselect 设置单选无效(设置单选依然是复选框)

    bootstrap-multiselect 的使用介绍:https://www.cnblogs.com/landeanfen/p/5013452.html bootstrap-multiselect ...

  8. PHP CGI

    cgi是通用网关接口,是连接web服务器和应用程序的接口. web服务器负责接收http请求,但是http请求从request到response的过程需要有应用程序的逻辑处理,web服务器一般是使用C ...

  9. CMAK找不到相关编译器的问题

    本机安装了vs2019,在编译vulkansdk所带的samples时,遇到 错误提示: CMake Error at CMakeLists.txt: (project): Generator Vis ...

  10. dojo 官方翻译 dojo/_base/array 版本1.10

    官方地址:http://dojotoolkit.org/reference-guide/1.10/dojo/_base/array.html#dojo-base-array array模块dojo进行 ...