堆空间
在程序运行过程,为了能够自由控制内存的生命周期、大小,会经常使用堆空间的内存
堆空间的申请\释放
malloc \ free
new \ delete
new [] \ delete []
注意
申请堆空间成功后,会返回那一段内存空间的地址
申请和释放必须是1对1的关系,不能回收一部分,不然可能会存在内存泄露
现在的很多高级编程语言不需要开发人员去管理内存(比如Java),屏蔽了很多内存细节,利弊同时存在
利:提高开发效率,避免内存使用不当或泄露
弊:不利于开发人员了解本质,永远停留在API调用和表层语法,对性能优化无从下手
若函数调用完,若没有释放堆空间,就没有指针指向这个堆空间了
堆空间的初始化
memset
◼ memset函数是将较大的数据结构(比如对象、数组等)内存清零的比较快的方法