一、
简单说 数据结构的堆和栈 与 内存分配里的堆和栈 没有关系。
1.数据结构的 堆和栈 只是一种数据结构,侧重的是数据逻辑上的存放,读取,组织方式。用在 排序和OS任务优先级调度
2.内存堆和栈 是实实在在的东西,堆可以想象成内存池。
栈作用主要是存放函数调用的参数和该函数分配的空间, 等调用结束, 自动回收这些分配的空间.
堆是由操作系统负责管理的空间, 这块空间完全由程序员向系统申请, 也需要自己负责释放给会系统.一直申请却不给回,系统的其他程序就遭殃.
注:
1.函数内的变量,当函数离开就失去意义,所以不要返回他的指针.(栈)
2.要返回就拷贝一份.或者直接使用堆来分配.
3.堆分配可以跨函数,保持任意久的时间,但是光申请不给回系统,只会让电脑变慢.
4.堆分配的空间,虽然灵活,但是需要人工管理,往往造成很多系统的隐患.
二、