资料介绍
在计机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是很多初学者的认识,因为我曾经就是这么想的和汇编语言中的堆栈一词混为一谈。我身边的一些编程的朋友以及在网上看帖遇到的朋友中有好多也说不清堆栈,所以我想有必要给大家分享一下我对堆栈的看法,有说的不对的地方请朋友们不吝赐教,这对于大家学习会有很大帮助。
首先了解下计算机C语言中各个变量的存放区域:
代码区(CODE): 存放函数代码;
静态数据区(DATA): 存放全局变理/静态变量;
堆区(HEAP): 是自由存储区,存放动态数据,像new,malloc()申请的空间就是堆区的;
栈区(STACK): 存放临时/局部变量。
数据结构的栈和堆
首先在数据结构上要知道堆栈,尽管我们这么称呼它,但实际上堆栈是两种数据结构:堆和栈。堆和栈都是一种数据项按序排列的数据结构。
栈就像装数据的桶或箱子
我们先从大家比较熟悉的栈说起吧,它是一种具有 后进先出 性质的数据结构,也就是说后存放的先取,先存放的后取。这就如同我们要取出放在箱子里面底下的东西(放入的比较早的物体),我们首先要移开压在它上面的物体(放入的比较晚的物体)。
堆像一棵倒过来的树
而堆就不同了,堆是一种 经过排序的树形数据结构 ,每个结点都有一个值。通常我们所说的堆的数据结构,是指二叉堆。堆的特点是根结点的值最小(或最大),且根结点的两个子树也是一个堆。由于堆的这个特性,常用来实现优先队列, 堆的存取是随意 ,这就如同我们在图书馆的书架上取书,虽然书的摆放是有顺序的,但是我们想取任意一本时不必像栈一样,先取出前面所有的书,书架这种机制不同于箱子,我们可以直接取出我们想要的书。
- 基于VHDL语言中数字钟的整点报时源代码下载 2次下载
- 51单片机实战教程之C语言基础(四 C语言变量定义) 7次下载
- C语言中的__attribute__宏定义之section属性 47次下载
- 【串口屏LUA教程】Lua脚本语言中文教程
- 堆栈在C语言中的定义(单片机的中堆栈相当于栈)资料下载 14次下载
- 单片机C语言中如何使用nop函数进行短延时的效果资料和程序说明 10次下载
- C语言入门教程之堆栈的详细资料概述 11次下载
- python语言中类的特殊方法相关用法详细资料概述 16次下载
- C51单片机C语言与标准C语言有什么区别? 134次下载
- C语言教程之C语言中级培训教程—预处理电子课件免费下载 0次下载
- 不带参数的宏定义是什么?不带参数的宏定义的资料介绍详细过程概述 5次下载
- C语言中的关键字 3次下载
- C语言和汇编语言混合编程方法和C语言中断处理方法 36次下载
- C语言中指针的介绍非常详细 57次下载
- MSP430 C语言编程的程序堆栈溢出分析 40次下载
- C语言中结构体能不能相加 602次阅读
- 如何给C语言中的函数定义两个不同的名字? 264次阅读
- 如何在层堆栈管理器中定义单层板? 330次阅读
- 基于Rust语言中的生命周期 578次阅读
- Rust语言中的反射机制 873次阅读
- C语言定义字符串的几种方法 2737次阅读
- C语言中的不完整类型是什么 845次阅读
- C语言中必须要掌握的位运算操作 702次阅读
- SystemVerilog语言中的Upcasting和Downcasting概念解析 926次阅读
- C语言中函数的创建以及使用 4490次阅读
- 在标准C语言中编译出来的可执行程序 1492次阅读
- C语言中的goto语句怎么用?为什么反对使用 5917次阅读
- C语言中变量和常量的关系 2657次阅读
- C语言基础语法之结构体 3400次阅读
- 基于C语言中指针的基本用法解析 4574次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 651单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 751单片机大棚环境控制器仿真程序
- 1.10 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多