Exam-style question
Try this first
Explain how a stack frame supports a call from one subroutine to another. Your answer should refer to the return address, parameters and local variables.
Model answer
What a good answer should say
- When a subroutine is called, a stack frame is created for that call.
- The frame stores the return address, which identifies where execution must continue in the calling subroutine.
- It also stores the values or references passed as parameters and space for the called subroutine's local variables.
- The called subroutine uses this information while it runs.
Explanation
Why this works
A complete answer links each required item to its purpose: the return address enables correct resumption, parameters provide data for the call, and local variables hold values belonging to that particular execution of the subroutine.
Common mistake
No common mistake is linked to this question yet.
