C/C++ 内存分配里的 堆和栈 与数据结构里的 堆和栈

本文介绍了C/C++中内存分配的堆和栈与数据结构中的堆和栈的区别。数据结构的堆栈关注数据的逻辑组织和读取,常用于排序和任务调度;而内存中的堆是动态内存池,程序员负责申请和释放,栈用于存放函数调用参数和局部变量,自动回收。堆分配灵活但需手动管理,不当使用可能导致系统隐患。
摘要由CSDN通过智能技术生成

一、

简单说 数据结构的堆和栈 与 内存分配里的堆和栈 没有关系

1.数据结构的 堆和栈 只是一种数据结构,侧重的是数据逻辑上的存放,读取,组织方式用在 排序和OS任务优先级调度
2.内存堆和栈 是实实在在的东西,堆可以想象成内存池

    作用主要是存放函数调用的参数和该函数分配的空间, 等调用结束, 自动回收这些分配的空间.

  是由操作系统负责管理的空间, 这块空间完全由程序员向系统申请, 也需要自己负责释放给会系统.一直申请却不给回,系统的其他程序就遭殃.

注:
1.函数内的变量,当函数离开就失去意义,所以不要返回他的指针.(栈)
2.要返回就拷贝一份.或者直接使用堆来分配.
3.堆分配可以跨函数,保持任意久的时间,但是光申请不给回系统,只会让电脑变慢.
4.堆分配的空间,虽然灵活,但是需要人工管理,往往造成很多系统的隐患.

二、
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值