原创

malloc、free、new、delete以及堆和栈

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://shazhenyu.blog.csdn.net/article/details/52327849
C,C++规定,void* 类型可以强制转换为任何其它类型的指针。
 
mallac:是个函数,动态内存分配,void *类型,向系统申请分配指定size个字节的内存空间

free:释放malloc函数给指针变量分配的内存空间的函数,使用后一定要重新指向NULL,防止野指针出现。

new和delete运算符用于动态分配和撤销内存的运算符,是C++关键字

要点:

堆,队列优先,先进先出

栈,先进后出

栈:由操作系统自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。

堆: 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表
 
栈就像去饭店吃饭,堆就像在自己家做饭。
文章最后发布于: 2016-09-01 13:37:47
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 代码科技 设计师: Amelia_0503

分享到微信朋友圈

×

扫一扫,手机浏览