动态内存分配原因

研究问题?

  1. 为啥要动态分配?
  2. 什么时候动态分配?

要点:

  • 为啥要动态分配 什么时候动态分配
      关于这个问题应该归结到动态分配的好处上面了,跟指针到是没多大关系,只能说指针有指向动态分配内存块、访问内存块的功能。我觉得我也可以看看以前记录的关于动态分配的内容(为啥要进行动态分配)
      • 栈空间大小有限
      这主要是体现在较大的程序上面。动态局部变量是存储在栈上的,而且栈的空间有限,太大的程序就需要额外的空间来存储变量。这个时候就可以向堆索取动态的内存,即动态内存分配。
      • 申请一个与数据(如某文件)所需内存大小相宜的内存空间,避免空间的浪费,同时避免空间不够。
      在不知道数据有多大时,可以用一个较大的下标来定义 一个数组来存储相应的数据,这样一来有可能这个下标值不够大,造成数组上越界,也有可能下标值过大,造成内存浪费(在相应的程序块结束后才自动释放)。
      • 可以在不用堆内存空间时手动释放相应的空间(存在栈上面的数据要在相应的程序块运行结束时才会被释放)
      详情请见:http://blog.csdn.net/ms_ks_1217/article/details/9305687
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页