内存,缓冲区和堆栈有什么区别?

rul*_*lof 3 c memory stack buffer

虽然学习c编程只memory提到了.但实际上似乎还有更多; 这些bufferstack文字几乎就在那里.

这些条款有什么区别?为什么他们很有趣?

拜托,我需要一个详细的答案.简短的答案无法提供服务.一些资源也可能有所帮助.

提前坦克.

Rah*_*thi 9

缓冲区临时存储数据,而数据是从一个地方移动到另一个地方的过程,即输入设备到输出设备.你可以说缓冲区是内存的一部分.您可以说缓冲区是内存的预分配区域,您可以在处理数据时存储数据.

这里:

另一方面,缓冲区主要存在于RAM中,并且作为CPU可以临时存储数据的区域.该区域主要用于计算机和其他设备具有不同的处理速度.典型地,该数据被存储在缓冲器中,因为它是从输入设备检索(例如鼠标),或者只是之前它被发送到输出设备(诸如扬声器).但是,当在计算机内的进程之间移动数据时,也可以使用缓冲区.

因此,计算机将数据写入缓冲区,设备可以从该缓冲区以自己的速度访问数据.这使得计算机能够在将数据写入缓冲区后专注于其他事项; 反对不断关注数据,直到设备完成.

缓冲器可以在硬件中的固定存储器位置中实现,或者通过在软件中使用虚拟数据缓冲器来实现,其指向数据缓冲器存储在物理存储介质上.大多数缓冲区都在软件中使用.这些缓冲区通常使用更快的RAM来存储临时数据,因为RAM的访问时间比硬盘驱动器快得多.缓冲区通常通过在内存中实现队列或FIFO算法来调整时序.因此,它通常以一种速率将数据写入队列并以另一种速率读取它.

堆栈是一组项目,其中插入数据并从一端(称为堆栈顶部)中删除.

在计算机科学中,堆栈是一种特殊的抽象数据类型或集合,其中集合上的主要(或唯一)操作是向集合添加实体,称为推送和删除实体,称为pop

  • 你教@rullof如何搜索互联网?;-) (3认同)