6
เหตุใดโปรแกรมจึงใช้สแตกการโทรหากมีการเรียกใช้ฟังก์ชันซ้อนกัน?
ทำไมคอมไพเลอร์ถึงไม่มีโปรแกรมเช่นนี้: function a(b) { return b^2 }; function c(b) { return a(b) + 5 }; และแปลงเป็นโปรแกรมเช่นนี้: function c(b) { return b^2 + 5 }; ด้วยเหตุนี้จึงไม่จำเป็นต้องให้คอมพิวเตอร์จำที่อยู่ส่งคืนของ c (b) ฉันคิดว่าพื้นที่ฮาร์ดดิสก์ที่เพิ่มขึ้นและ RAM ที่จำเป็นในการจัดเก็บโปรแกรมและสนับสนุนการรวบรวม (ตามลำดับ) คือเหตุผลที่เราใช้ call stack ถูกต้องไหม