Heap allocation is required for languages that :

2017

Heap allocation is required for languages that :

Answer: B. support dynamic data structuresAnswer: support dynamic data structures Explanation: Key idea: Heap allocation is used when data must outlive the function call that created it. Dynamic data…

  1. A.

    use dynamic scope rules

  2. B.

    support dynamic data structures

  3. C.

    support recursion

  4. D.

    support recursion and dynamic data structures

Attempted by 897 students.

Show answer & explanation

Correct answer: B

Answer: support dynamic data structures

Explanation:

  • Key idea: Heap allocation is used when data must outlive the function call that created it.

  • Dynamic data structures (for example, linked lists, trees, or objects allocated at runtime) often need memory with a lifetime independent of any single activation record, so they are allocated on the heap.

  • Recursion itself is handled via the call stack (activation records). Recursion does not inherently require heap allocation unless the program also creates persistent dynamic data.

  • Dynamic scope is about how names are resolved at runtime and is unrelated to whether memory must be taken from the heap.

  • Example: If a function creates a linked-list node that must remain valid after the function returns, that node must be allocated on the heap; stack allocation would be reclaimed when the function ends.

Explore the full course: Nta Ugc Net Paper 2

Loading lesson…