分清栈区和栈
2020-07-14 05:41
169 查看
栈(一种数据结构):
stack
n. (通常指码放整齐的) 一叠,一摞
又称堆栈
先进后出
堆(一种数据结构):
heap
n. (凌乱的) 一堆; 许多;
堆是一种特殊的树形数据结构,一般讨论的堆都是二叉堆。堆的特点是根结点的值是所有结点中最小的或者最大的,并且根结点的两个子树也是一个堆结构。
栈区、堆区(内存的一部分):
C/C++
一个由C/C++编译的程序占用的内存分为以下几个部分
1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数名,局部变量的名等。其操作方式类似于数据结构中的栈。
2、堆区(heap)— 由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。
3、静态区(static)—全局变量和局部静态变量的存储是放在一块的。程序结束后由系统释放。
4、文字常量区—常量字符串就是放在这里的,程序结束后由系统释放 。
5、程序代码区— 存放函数体的二进制代码。
相关文章推荐
- 分清感冒类型选中药
- C语言中的文字常量区与栈区分析
- C/C++ 内存分配方式,堆区,栈区,new/delete/malloc/free
- 分清“语言/规范”以及“平台/实现”,以及跨平台.NET开发
- 内存中堆区与栈区的区别
- Java虚拟机内存的堆区(heap),栈区(stack)和静态区(static/method)
- 栈区 堆区
- 线程中WaitCommEvent使用临时栈区变量导致Release版本崩溃
- 栈区,堆区,全局区,文字常量区,程序代码区 详解
- 一段式状态机和三段式状态机傻傻分不清。。。。。话说为什么要分清呢~~~~~~~~~
- 分清一键还原和重装系统的区别 做合适选择
- c/c++里的 堆区 栈区 静态区 文字常量区 程序代码区
- 1. 分清operator new和new operator
- C/C++ 内存分配方式,堆区,栈区,new/delete/malloc/free
- ASP.NET开发,且编且改,分清职责
- 数据段、代码段、栈区、堆区
- c++ 41 分清值语义与对象语义
- 有效分清并执行迭代设计与计划设计
- 栈区,堆区,全局区,文字常量区,程序代码区 详解
- 【转】 Java虚拟机内存的堆区(heap),栈区(stack)和静态区(static/method)