Stack và Heap là gì? Phần 1: Stack
Stack và Heap là hai vùng nhớ cơ bản trong một chương trình máy tính. Khi lập trình, chúng ta thường làm việc với chúng mà không hề hay biết. Hiểu được ưu nhược của từng vùng nhớ sẽ giúp ta kiểm soát chương trình hiệu quả hơn. Khi máy tính chạy một chương trình, chương trình đó sẽ được giao cho một vùng nhỏ trên RAM, ta gọi đó là vùng nhớ . Mỗi chương trình đều có 2 vùng nhớ mà ta cần quan tâm hơn cả đó là Stack và Heap. Stack Bạn có thể tưởng tượng Stack như một chồng đĩa. Khi ta muốn lấy một chiếc đĩa, ta chỉ cần lấy chiếc ở trên cùng và khi bắt đầu xếp chồng đĩa ấy, ta sẽ bắt đầu từ dưới lên. Ta gọi thứ tự xếp đĩa này là LIFO: L ast I n - F irst O ut. Chiếc đĩa nào được đặt vào cuối cùng sẽ được lấy ra đầu tiên. Ngược lại, chiếc đĩa được đặt vào đầu tiên sẽ được lấy ra cuối cùng Ta gọi LIFO là một kiểu cấu trúc dữ liệu. Những dữ liệu của ta ở vùng nhớ Stack cũng được quản lý một cách tương tự. Bây giờ có thể bạn vẫn chưa hình dung được và để mình có thể nói sâu h