C语言内存分配方式有三种:
1:静态分配
2:在栈上创建
3:在堆上分配,也说做(动态非配)。。。(也就是这章所讲的)
这一章仅仅说了其中的一种。内存分配方式有三种,三种,三种。
内存基本构成:
可编程内存基本分为这样几大部分:静态存储区、堆区、栈区。他们的功能不同,对他们使用方式也就不同。
静态存储区:内存在程序编译的时候就已经分配好了,这块内存在整个程序运行期间都存在。它主要存放静态数据、全局数据和常量(包括字符串常量)。
栈区:在执行函数时,函数内部的局部变量的存储单元都可以在栈上创建,函数执行结束时自动被释放。#####栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的容量有限。有操作系统控制。
堆区:亦称动态内存分配。程序在运行的时候用mallo或new申请任意大小的内存,程序员自己负责适当的时候用free或者delete释放内存。动态生存期可以由我们决定,如果我们不释放内存,程序将在最后才释放掉动态内存。
#内存泄漏是指程序运行中的。。。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~**这一章的安排:**
首先说明,为什么会需要 动态分配的这种内存分配方式
然后,介绍几个关于内存分配的 函数
接着,介绍使用了 动态内存分配的程序,经常会出现的程序错误
最后给了一个例子,介绍了内存是如何分配的。