数据结构中的堆栈和内存中的堆栈

来源:互联网 发布:剑雨逍遥坐骑进阶数据 编辑:程序博客网 时间:2024/05/21 08:37


数据结构中的堆栈:
    1 都是一种数据按序排列的数据结构,只能在一端对数据进行插入和删除
    2 堆:队列优先,先进先出;栈,先进后出

内存分配中的堆栈,在C++中内存分成5个区,分别是堆、栈、自由存储区、全局/静态存储区、常量存储区。
    1 栈,就是那些有编译器在需要的时候分配,在不需要的时候自动清除的变量存储区。里面的变量基本上是局部变量、函数参数等,栈由系统自动分配,速度快。
    2 堆,就是那些由new分配的内存块,一般速度比较慢,而且容易产生内存碎片,不过用起来最方便。
    3 自由存储区,就是那些由malloc等分配的内存快,与堆十分相似,但是是用free来结束自己
    4 全局/静态存储区,二者被分配到同一块内存中。
    5 常量存储区,这是一块比较特殊的存储区,他们里面存放的是常量,不允许修改(当然,你要通过非正当手段也可以修改,而且方法很多)

0 0
原创粉丝点击