对于内存结构的简单理解

最近花了点时间读了《深入理解C指针》这本书 , 读完这本书后 , 对于之前嵌入式C语言开发中很多一知半解的地方豁然开朗 。对于之前学习以及工作中 , 很多没有注意的问题 , 也有了更加深刻的理解和认识 。今天就花点时间整理下这段时间读完这本书后的所学所得 , 也方便后续查看 。
【对于内存结构的简单理解】我们在开发C语言程序的时候 , 程序需要在编译器中编译后 , 才能在对应产品中运行 。在程序运行的过程中 , 内存的分配一般分为以下几个部分:

  • 堆(heap)
  • 栈(stack)
  • BSS区
  • 数据区
  • 代码区
对于我们平时开发的C程序 , 加载到处理器的内存中运行 , 呈现出来的结构就大概分为以上五个区域 。为了更好地理解 , 我们可以根据下面这张图去理解 。
对于内存结构的简单理解

文章插图
 
下面我们简单地对上述几个区域做一下介绍 。首先从代码区开始 。


    推荐阅读