假如要创建一个数组,数组长度由用户输入
那就可以这样写:
int bufferSize;
cin>>bufferSize;
int *p=new int[bufferSize];

但是,如果用静态数组实现这个功能请问怎么实现?
int bufferSize;
cin>>bufferSize;
int arr[bufferSize];吗?系统编译不过的

静态数组是在堆栈上分配的,在编译的时候就已经确定了大小(VC默认情况下栈大小是1M)
动态数组存储空间是在上分配的
只有代码运行的时候才向操作系统申请内存
机器可用内存有多大,就可以申请多大内存

静态是说程序还没有运行的时候就决定了,而动态是程序在运行中决定的。

这里是程序运行时指定需要长度是多少,按需分配,而静态数组是你在程序中就确定好长度,在运行过程中不能改变的。

比如你有若干组数据处理,在写程序时不确定数据大小,有可能是10,也可能是1000000,这时如果用静态数组就得按照最大分配,分配1000000,但这个程序大多数时候只需处理大小为10的数据,浪费了大量空间。
有了动态数组(动态内存分配),我们就可以在需要时分配,用完了后释放,大大节省了内存资源。

C++动态数组的作用相关推荐

  1. C语言中动态数组的作用,C语言实现动态数组

    前言 在纯C语言编程中,数组的创建必须是固定的大小,因为C语言本身没有提供动态数组这种数据结构,这是一个让习惯了使用高级语言编程的人转做C开发面临的一个很头疼的问题,本篇文章就将介绍如何使用纯C语言编 ...

  2. C++中如何定义动态数组

     首先:为什么需要动态定义数组呢?   这是因为,很多情况下,在预编译过程阶段,数组的长度是不能预先知道的,必须在程序运行时动态的给出   但是问题是,c++要求定义数组时,必须明确给定数组的大小 ...

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

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

  4. Vector:动态数组的使用和说明

    摘自百度百科: 1. Vector 类在 java 中可以实现自动增长的对象数组; 创建了一个向量类的对象后,可以往其中随意地插入不同的类的对象,既不需顾及类型也不需预先选定向量的容量,并可方便地进行 ...

  5. excel vba真正的动态数组实例-按需定义数组大小

    excel vba真正的动态数组实例 一.动态数组的定义 动态数组的定义,一开始不需要给数组标明上界和下界.直接定义即可,如下面的代码: Dim MyStr() As String 这样,就定义了一个 ...

  6. 学习笔记 C++ 动态数组类的声明

    学习笔记  C++ 第九章 群体类和群体数据的组织/ 9.2线性群体 C++动态数组类的声明 一  Array<T>& operator= (const Array<T> ...

  7. 软件的基本是要处理好”算法“及其基础(一)流-字-字符(包括某个数字、字母、符号和某个汉字等)-字符串-字节动态数组-字节-整数之间的转化关系和算法

    目录 软件的基本是要处理好"算法"及其基础(一): 流->计算机字->字符(包括某个数字.字母.符号和某个汉字等)->字符串->字节动态数组->字节- ...

  8. 【15】Vue:02-Vue表单基本操作、表单修饰符、自定义指令、计算属性computed、侦听器watch、过滤器、生命周期、数组变异方法、替换数组、动态数组响应数据、图书列表案例、TODOS案例

    文章目录 day02 Vue常用特性 表单基本操作 表单修饰符 自定义指令 Vue.directive 注册全局指令 Vue.directive 注册全局指令 带参数 自定义指令局部指令 计算属性 c ...

  9. golang数据结构初探之动态数组slice

    动态数组slice slice 又称动态数组,依托于数组实现,可以方便的进行扩容和传递,实际使用时比数组更灵活.但正是因为灵活,实际使用时更容易出错,避免出错的最好方法便是了解其实现原理. 特性速览 ...

最新文章

  1. 【MATLAB】基本绘图 ( 图形属性 | 绘图对象 | 图形属性界面 | 坐标轴属性 | 线属性 | 文本属性 | 图形属性设置策略 )
  2. 置顶 | 2021学习单/读书单(该来的总会来,过好当下,静待花开)
  3. [导入]查询锁定表中非锁定记录。
  4. php查找空白行,如何从PHP文本中删除空白行?
  5. joa-framework 工作流快速开发框架(jeecg官方工作流版本) 发布
  6. cgo 调用dll Failed to load xxxxx.dll: The specified module could not be found.
  7. [洛谷P1342]请柬
  8. 为什么需要跨境ERP系统?
  9. maps-api-v3_Android Google Maps API集成
  10. VB串口调试助手源代码
  11. matlab 超像素合并,基于图论的超像素分割及其合并算法
  12. steam怎么看邮箱绑定的账号_【一问一答】账号篇丨账号密码忘记了怎么办?不方,看这里!...
  13. Maple_Vanderpol方程_摄动法公式符号推导
  14. 《计算机网络:自顶向下方法》阅读笔记
  15. DSI3协议理论基础讲解
  16. 软件测试好学吗?发展前景如何?
  17. Cisco Packet Tracer Student的路由器接口配置
  18. 小学生3年级100以内加减法
  19. 解决PC端的的TIM群聊界面无法显示公告、文件、记录栏,不显示群消息
  20. 简单的漫画创作项目comicgen

热门文章

  1. TinyXml入门简易教程.
  2. 这5款app,好用到让你颤抖!
  3. HTTP调试工具:Fiddler介绍一(翻译)
  4. 静态切换开关,静态转换开关,静态开关,双电源转换开关
  5. mysql5.5安装图解_MySQL5.5安装图解
  6. 知识融合:一文看懂LIMES理论基础
  7. C/C++编程学习 - 第2周 ⑥ 收集瓶盖赢大奖
  8. 毛哥的快乐生活(23) 我不装了!我摊牌了!我就是大神
  9. 驾校计算机网络管理员,驾校管理系统(计算机数据库课程设计)
  10. 说电影《悲伤逆流成河》