当前位置:首页>体育>

内存由哪五个部分组成(内存结构是由哪几个部分组成的)

来源:原点资讯(m.360kss.com)时间:2023-06-23 21:17:52作者:YD166手机阅读>>

最近花了点时间读了《深入理解C指针》这本书,读完这本书后,对于之前嵌入式C语言开发中很多一知半解的地方豁然开朗。对于之前学习以及工作中,很多没有注意的问题,也有了更加深刻的理解和认识。今天就花点时间整理下这段时间读完这本书后的所学所得,也方便后续查看。

我们在开发C语言程序的时候,程序需要在编译器中编译后,才能在对应产品中运行。在程序运行的过程中,内存的分配一般分为以下几个部分:

  • 堆(heap)
  • 栈(stack)
  • BSS区
  • 数据区
  • 代码区

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

内存由哪五个部分组成,内存结构是由哪几个部分组成的(1)

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


代码区

我们需要了解的是,我们在使用C语言开发产品程序代码的时候,最终的开发好的程序是并不能直接在产品的处理器中直接运行的。而是需要经过编译器的编译,最终将我们的代码转换成CPU处理器所能够理解的机器指令,才能在CPU中正常运行。而代码区,我们可以简单地理解为我们编写好的程序(已经转换为机器指令的程序代码)存放的地方。CPU处理器会从这个地方取出机器指令去完成对应的操作,最终实现我们想让CPU所实现的功能(简单的算术运算,或者对应的硬件操作等)。

栈区

栈区,这个区域不需要我们去维护管理,在程序运行的过程中,会自动的分配和释放。可能有些人不太能理解这个区域是做什么用的,这里我们简单地做一下介绍。

我们在开发嵌入式C程序代码的过程中,经常会在定义一些函数,去完成特定的功能(例如:定义一个addfunc函数用于实现两个数的加法运算,或者说更加复杂的,定义一个函数来对一个链表进行查询操作),在这些函数中,我们不可避免地,会去定义一些局部变量(局部变量的概念就不在这里做介绍了,不理解的建议去过一遍谭浩强的C语言程序开发)。在程序运行的过程中,我们需要一个地方去存储我们定义的这些局部变量,调用函数时的参数值,返回值等,而这个地方就是栈。

栈区是处于不断变化的状态中,举个例子,当前,程序运行在main函数中,此时栈中存储的则是main函数中我们定义的一些局部变量。这个时候,假如我们在main函数中去调用其他函数,那么,栈中会自动进行出栈操作,然后再进行入栈操作,将我们调用的那个函数的相关的局部变量,函数参数,返回值等都压入到栈中。如下图所示:

内存由哪五个部分组成,内存结构是由哪几个部分组成的(2)

最先开始,程序从main函数开始运行,在调用addfunc函数之前,栈中的存储内容可能是这样的。

内存由哪五个部分组成,内存结构是由哪几个部分组成的(3)

内存由哪五个部分组成,内存结构是由哪几个部分组成的(4)

首页 1 2 3 下一页

栏目热文

内存储器一般由什么组成(计算机主内存储器由什么组成)

内存储器一般由什么组成(计算机主内存储器由什么组成)

51、世界上第一台电子计算机诞生的时间是()A、19世纪 B、1950年 C、第一次世界大战 D、第二次世界大战末52、...

2023-06-23 21:06:36查看全文 >>

内存储器分为哪三大类(内存储器包括哪三个)

内存储器分为哪三大类(内存储器包括哪三个)

消防设施操作员考试(安全员)模拟考试及(安全员)题库,包含A证(安全员)模拟考试答案解析及B证(安全员)模拟考试系统练习...

2023-06-23 21:19:49查看全文 >>

内存储器由哪三种组成(内存储器主要是什么组成的)

内存储器由哪三种组成(内存储器主要是什么组成的)

存储器是构成计算机很重要的部分,它是用来存储程序和数据的部件,对于计算机来说,有了存储器,才有记忆功能,才能保证正常工作...

2023-06-23 21:15:43查看全文 >>

内存储器包括哪三种(计算机的内存储器包括)

内存储器包括哪三种(计算机的内存储器包括)

在计算机的组成结构中,有一个很重要的部分,就是存储器。存储器是用来存储程序和数据的部件,对于计算机来说,有了存储器,才有...

2023-06-23 21:26:34查看全文 >>

幸福三十六计分集剧情介绍

幸福三十六计分集剧情介绍

《幸福36计》将古代人的智慧套用在了现代婆媳之间的家长里短生活中,虽然也没看出来太多有用的方法,但通过轻喜剧的方式将一家...

2023-06-23 21:33:04查看全文 >>

内存储器主要包含哪些(内存储器包括什么)

内存储器主要包含哪些(内存储器包括什么)

在一台计算机中,主要有6种部件,分别是控制器、运算器、内存储器、外存储器、输入和输出设备。 其中控制器和运算器共同构成...

2023-06-23 21:48:51查看全文 >>

内存储器一般用什么组成(内存储器包括什么和什么)

内存储器一般用什么组成(内存储器包括什么和什么)

电脑的存储设备有两种类型,一种叫做内存储器,还有一种叫做外存储器。①内存就是内存储器,由集成电路芯片组成,也叫作“随机存...

2023-06-23 21:21:54查看全文 >>

内部存储器和外部存储器有哪几种(外部存储器和内部存储器的区别)

内部存储器和外部存储器有哪几种(外部存储器和内部存储器的区别)

存储器是计算机系统用来存储程序和数据的器件,可以按照多个角度分类(1)按存储介质分类:半导体器件(比如:内存)、磁性材料...

2023-06-23 21:33:20查看全文 >>

内存储器主要是什么组成的(内存储器指的是什么)

内存储器主要是什么组成的(内存储器指的是什么)

在理想情况下(资金充足),缓存与内存必然都是越大越好。但成年人有时也不免囊中羞涩,那在缓存和内存之间,到底该怎么抉择呢?...

2023-06-23 21:49:03查看全文 >>

内存储器的组成(常用的内存储器有哪五种)

内存储器的组成(常用的内存储器有哪五种)

对于很多装机用户来说,DDR内存与GDDR显存经常分不清,常常将二者混为一谈。那么它们有什么用呢?二者的区别又是什么呢?...

2023-06-23 21:49:40查看全文 >>

文档排行