Which languages necessarily need heap allocation in the runtime environment?
(A) Those that support recursion
(B) Those that use dynamic scoping
(C) Those that allow dynamic data structures
(D) Those that use global variables
Answer: (C)
Explanation: Heap allocation is needed for dynamic data structures like tree, linked list, etc.