前言
什么情况下需要堆空间?
为了在程序运行过程中,自由控制内存的生命周期、大小
malloc/free
*p指向的是这4个字节的第一个字节,10赋值给这4个字节的第一个字节
若想给4个字节都赋值:
new/delete
C++中,看到new就是申请堆空间
申请堆空间在什么情况下会失败
堆空间内存不够用、堆空间内存很紧张
会导致:
①报错
②返回空地址
malloc申请堆空间时堆空间的初始化
堆空间并未初始化
利用memset初始化
搞懂memset,是将地址p开始的连续40个字节每一个字节都设置为0
memset能将较大的数据结构(比如对象、数组等)内存清零
在有些平台中,会至少给malloc分配4个字节或者16个字节
new申请堆空间时堆空间的初始化