What Is Buffer in Data Structure?


Heather Bennett

What Is Buffer in Data Structure?

A buffer is a temporary storage area used to hold data while it is being transferred from one place to another. In the context of data structures, a buffer is typically implemented as an array or a linked list.

Types of Buffers

There are two main types of buffers:

  • Input Buffer: Also known as the receiving buffer, it is used to hold incoming data before it is processed by the system. For example, when you type on your keyboard, the input buffer temporarily stores the characters until they are processed by the operating system.
  • Output Buffer: Also known as the sending buffer, it holds data that is waiting to be sent from the system to an external device or another part of the system. For example, when you print a document, the output buffer holds the data until it is sent to the printer.

Buffer Operations

Buffers typically support two main operations:

  1. Insertion: Data can be inserted into a buffer at its end. This operation is also known as enqueueing. When inserting data into a buffer, you need to consider whether it has reached its maximum capacity.

    If the buffer is full and no more data can be inserted, an overflow condition occurs.

  2. Deletion: Data can be deleted from a buffer at its beginning. This operation is also known as dequeueing. When deleting data from a buffer, you need to ensure that there is actually data present in the buffer; otherwise, an underflow condition occurs.

Usage of Buffers

Buffers are commonly used in various applications and scenarios. Some examples include:

  • Network communication: Buffers are used to temporarily store data packets being transmitted over a network.
  • File I/O: Buffers are used to improve the efficiency of reading and writing data to and from files.
  • Audio and video streaming: Buffers are used to store chunks of audio or video data before they are played on a device.


In summary, a buffer is a temporary storage area that holds data during transfer. It can be either an input buffer or an output buffer.

Buffers support insertion and deletion operations, which allow data to be added or removed from the buffer. They find application in various domains, including network communication, file I/O, and multimedia streaming.

Discord Server - Web Server - Private Server - DNS Server - Object-Oriented Programming - Scripting - Data Types - Data Structures

Privacy Policy