- 0
- 0
- 约6.07千字
- 约 14页
- 2018-08-11 发布于福建
- 举报
C程序设计课程中堆与栈
C程序设计课程中堆与栈
摘要:堆和栈是C语言程序设计课程中的两个重要概念,在程序设计和代码分析中应用广泛。文章首先介绍程序运行时的内存空间分布,包括代码区、全局变量区、栈和堆,然后讨论栈的基本原理和特点以及栈在函数调用执行过程中的应用,然后通过例子演示栈在代码分析中的作用,详细阐述在递归函数调用的执行过程中控制流和数据流的变化过程,最后介绍堆的基本概念和应用特点。
关键词:程序设计;堆;栈;函数调用;递归
0 引 言
在讲授C语言程序设计课程时,教师会碰上两个颇有挑战性的概念:堆( heap)与栈( stack)。一方面,这两个概念非常重要,在程序设计和代码分析中经常要用到,只有理解了这两个概念,才能对程序运行时的一些规律和特点有着更深刻的认识;另一方面,这丽个概念又有一定的难度,涉及程序设计课程以外的一些知识,如操作系统和编译原理等,因此教师不太好讲授这部分内容,学生也不太容易理解。
从大的方面来说,堆和栈实际上是属于操作系统课程的内容,描述的是一个进程的内存空间分布情况。所谓进程,即一个程序的一次运行。当磁盘上的一个可执行程序运行时,它就会被装入到计算机的内存,在内存中运行。一般来说,进程的内存空间分布情况如图l所示。
从图l可以看出,当一个可执行程序(EXE文件)被装入到内存时,它主要包括两个部分:代码和数据。对于代码,它会被装入到内存中
您可能关注的文档
- CT故障分析与研究.doc
- CT曲面重建技术在胆道梗阻性病变应用.doc
- CT术前判断胰头癌能否切除价值分析.doc
- CT检查与超声检查诊断妇科肿瘤价值比较分析.doc
- CT机日常保养与维护体会.doc
- CT检查在创伤性盆腔腹膜后血肿诊断中重要意义.doc
- CT检查在子宫肌瘤诊断中临床价值分析.doc
- CT检查在急性阑尾炎诊断中价值分析.doc
- CT检查在早期食管癌诊断中应用分析.doc
- CT检查在早期脑梗死中临床作用和应用价值.doc
- 互换性与测量技术 第2版 课件 2.4 大尺寸孔轴公差与配合.pptx
- 互换性与测量技术 第2版 课件 7.1 尺寸链的基本概念.pptx
- 互换性与测量技术 第2版 课件 7.4 用极值法计算尺寸链-实例.pptx
- 体育产业概论 课件 第1--7章 导论、体育产业资源 ---体育旅游业.pptx
- 体育旅游(第二版)课件 第二章 体育旅游资源.pptx
- 体育旅游(第二版)课件 第三章 体育旅游者.pptx
- 体育产业概论 课件全套 曹可强 第1--14章 导论、体育产业资源 ---体育产业政策.pptx
- 互换性与测量技术 第2版 课件 1.5 标准更新说明.pptx
- 体育旅游(第二版)课件 第四章 体育旅游市场.pptx
- 体育旅游(第二版)课件 第五章 体育旅游目的地.pptx
原创力文档

文档评论(0)