内存中的堆栈
内存模型分5个区:栈区,堆区,静态区、常量区、代码区
栈区:存放函数的参数值,局部变量等;由编译器自动分配和释放;效率高但内存小
堆区:通过new等分配内存块,用程序区释放,像数据结构中的列表,会出现内存泄漏问题
静态区:全局变量和静态变量在一块,程序结束由系统释放—>可读可写
常量区:存储常量,不允许释放—>只读区
代码区:存放代码—>只读区
*栈区和堆区共用一块内存。
栈区由高—>低地址写,一块连续的存储区,大小是由系统规定好的,快
堆区有低—>高地址写,不连续,自己分配大小,delete释放内存,会产生内存碎片,慢
数据结构中的堆栈:
存储方式:链式和顺序
常用数据结构:数组、栈、堆、队列、链表等
栈:只在表尾进行删除插入操作的线性表,这端叫栈顶,另一端叫栈底—>先进后出—>递归