- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Difference Between Stack and Heap
In this post, we will understand the difference between Stack and Heap
Stack
It is a linear data structure.
Memory is allocated in a contiguous (continuous) block.
The memory for a stack is allocated and deallocated automatically using the instructions of the compiler.
It costs less to build and maintain a stack.
It is easy to implement.
It is fixed in size; hence it is not flexible.
Its only disadvantage is the shortage of memory, since it is fixed in size.
If all the blocks are not occupied, memory gets wasted too.
It takes less time to access the elements of a stack.
It has an excellent locality of reference.
Heap
It is a hierarchical data structure.
Memory is allocated in a random fashion.
The memory is allocated and deallocated manually by the programmer.
It is costly to build and maintain a heap.
It is difficult to implement a heap structure.
It takes more time to access elements of a heap.
The disadvantage of heap is fragmentation of memory.
Resizing is possible in heap.
Hence, memory is not wasted.
It has adequate locality of reference.
A process inside main memory −
- Related Articles
- Difference between Stack and Heap memory in Java
- Heap overflow and Stack overflow
- Difference Between Stack and Queue
- Difference between Stack and Array
- Heap overflow and Stack overflow in C
- Proper stack and heap usage in C++?
- Difference between Stack and Queue Data Structures
- Global memory management in C++ : Stack or Heap?
- Differences between stack and queue data structure
- Stack and the stack pointer in 8085 Microprocessor
- stack empty() and stack size() in C++ STL
- Explanation about SAP ABAP Stack and JAVA Stack and role of Java Stack during ECC upgrade
- Difference Between & and &&
- Convert min Heap to max Heap in C++
- Heap Sort
