Sự khác nhau giữa bộ nhớ Heap và bộ nhớ Stack trong lập trình

  • Bộ nhớ Heap được dùng để lưu trữ vùng nhớ cho những biến con trỏ được cấp phát động bởi các hàm malloc – calloc – realloc (trong C) hoặc từ khóa new (trong c++, c#, java,…).

    Ví dụ trong ngôn ngữ lập trình C++:

    #include <iostream>
    using namespace std;
    
    void main(){
        int a = 3; //Dữ liệu biến a sẽ được lưu trong bộ nhớ Stack
        int *b = new int[10]; // Dữ liệu của con trỏ b sẽ được lưu trong bộ nhớ Heap
    }
    

    Ngoài ra, còn rất nhiều trọng điểm để so sánh sự khác nhau giữa bộ nhớ Heap và bộ nhớ Stack như :