GATE CS 2014 Set 3 — Question 28
Go beyond PYQs with Success TrackerAI-powered personalised practice and doubt support. Unlimited practice on eligible plans; AI usage limits apply.MCQ+1 / -0.33MediumActivation RecordsRuntime EnvironmentsCompiler DesignStack AllocationHeap & Garbage Collection
Compiler Design → Runtime Environments → Activation Records
Last updated
Question
Which of the following statements are CORRECT?
1) Static allocation of all data areas by a compiler makes it impossible to implement recursion.
2) Automatic garbage collection is essential to implement recursion.
3) Dynamic allocation of activation records is essential to implement recursion.
4) Both heap and stack are essential to implement recursion.
1) Static allocation of all data areas by a compiler makes it impossible to implement recursion.
2) Automatic garbage collection is essential to implement recursion.
3) Dynamic allocation of activation records is essential to implement recursion.
4) Both heap and stack are essential to implement recursion.
Correct answer
(D) 1 and 3 only
Solution
1) True: Static allocation assigns fixed memory addresses at compile time. Recursion requires multiple instances of local variables for each active call, which is impossible if addresses are fixed statically.
2) False: Garbage collection is for memory management of heap-allocated objects, not strictly required for the mechanism of recursion itself (e.g., C supports recursion without GC).
3) True: Recursion requires a stack to store activation records (local variables, return addresses) for each function call dynamically as the recursion depth increases.
4) False: While a stack is essential, a heap is not strictly required for recursion itself (only for dynamic data structures).Thus, statements 1 and 3 are correct.
2) False: Garbage collection is for memory management of heap-allocated objects, not strictly required for the mechanism of recursion itself (e.g., C supports recursion without GC).
3) True: Recursion requires a stack to store activation records (local variables, return addresses) for each function call dynamically as the recursion depth increases.
4) False: While a stack is essential, a heap is not strictly required for recursion itself (only for dynamic data structures).Thus, statements 1 and 3 are correct.
Continue learning with Success Tracker
A step still unclear? Work through it with support
Use Success Tracker to ask about the reasoning, then try another GATE CS question to check your understanding.
AI-powered practice· Unlimited practice on eligible plans
- PYQs with solutions
- Attempt available previous-year questions, then compare your reasoning with the worked solution. Coverage varies by stream.
- Practice that adapts
- Choose a topic, work on weaker areas and bookmark questions to revisit. Your attempts feed your progress tracking.
- AI doubt support
- Ask follow-up questions about a step or concept while practising, instead of stopping at the final answer.
Unlimited practice is available on eligible plans. Free practice and AI usage have limits; check the current plan allowances before choosing.
This page stays readable without an account. AI responses can be wrong; check them against the solution and source material.
More questions on Runtime Environments
2026 Set 2 Q17In C runtime environment, which one of the following is stored in heap?2026 Set 2 Q19Consider the following three ANSI-C programs, P1, P2, and P3. P1 [code] P2 [code] **P3**…2026 Set 1 Q27Consider the following C statements: Which of the following options is/are correct? [figure]2026 Set 1 Q28Which of the following statements is/are true?2026 Set 2 Q35A lexical analyzer uses the following token definitions - - …