Site icon PlusMagi's Blog By Pitt Phunsanit

Stack Memory

Stack Memory ( หรือหน่วยความจำแบบสแต็ก ) คือพื้นที่หน่วยความจำที่ระบบปฏิบัติการจัดสรรไว้ให้โปรแกรมใช้สำหรับ เก็บข้อมูลชั่วคราว ในขณะที่ฟังก์ชัน ( Function / Method ) กำลังทำงานอยู่ครับ ลักษณะการทำงานของมันจะเหมือนกับ “ตั้งหนังสือซ้อนกัน” คือเข้าสู่ระบบแบบ LIFO ( Last-In, First-Out ) หรือ “มาทีหลัง ออกก่อน”


ลักษณะเด่นของ Stack Memory


Stack ทำงานอย่างไรในภาษาต่าง ๆ

เพื่อให้เห็นภาพชัดเจนขึ้น ลองดูพฤติกรรมของ Stack ในภาษาโปรแกรมมิ่งต่าง ๆ ครับ


ภาพรวมการทำงานร่วมกันระหว่าง Stack และ Heap

ลองจินตนาการว่า Stack คือสมุดโน้ตเล่มเล็ก ๆ ที่อยู่บนโต๊ะทำงาน ( รวดเร็ว หยิบใช้ง่าย จดแป๊บเดียวทิ้ง ) ส่วน Heap คือโกดังเก็บของ ที่อยู่หลังบ้าน ( เก็บของชิ้นใหญ่ได้เยอะ แต่อาจจะต้องเดินไปหาและใช้เวลาจัดระเบียบ )

เวลาเราทำงาน เรามักจะจด “หมายเลขกล่อง” ( Pointer ) ไว้ในสมุดโน้ต ( Stack ) เพื่อให้รู้ว่าของชิ้นใหญ่ ๆ นั้นเก็บอยู่ตรงไหนในโกดัง ( Heap ) ครับ


อ่านเพิ่มเติม

Exit mobile version