侧边栏

逆向之程序堆栈

逆向之程序堆栈

计算机内存分布

计算机内存:计算机内存分为数据段、代码段、堆段和栈段。

堆和栈在数据结构中是两种不同的数据结构。两者都是数据项按序排列的数据结构。

 

 栈

栈的定义:后进先出的数据结构。

栈的存取规则:后存放的先取先存放的后取,类似于取放在箱子底部的东西,首先要移开压在它上面的物体

 

 堆

  • 堆的定义

堆是一种经过排序的树形数据结构,每个节点都有一个值。通常我们所说的堆的数据结构是指二叉树。

  • 堆的特性:

根节点的值最小(或最大),且根节点的两个树也是一个堆
堆常用来实现优先队列,堆的存取是随意的,类似于在图书馆的书架上取书,书的摆放是有序的,书的取出是任意的。

堆和栈存储数据类型

栈的存储数据类型:
栈是一个内存数组,是一个LIFO(last-infirst-out,后进先出)的数据结构,栈存储3种类型的数据:分别是值类型变量的值;程序当前的执行环境;传递给方法的参数。

堆的存储数据类型:
堆是一块内存区域,在堆里可以分配大块的内存用于存储引用类型对象,与栈不同,堆里的内存能够以任意顺序存入和移除。

代码

posted @   菜鸟-传奇  阅读(174)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示