¿Cuál de las siguientes afirmaciones son correctas?
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.
(A) 1 y 2 solamente
(B) 2 y 3 solamente
(C) 3 y 4 solamente
(D) 1 y 3 solamente
Respuesta: (D)
Explicación: 1) La asignación estática de todas las áreas de datos por un compilador hace que sea imposible implementar la recursividad.
Es cierto que se requiere una asignación dinámica de memoria para la pila de llamadas de funciones, ya que no se conoce el número de llamadas por adelantado para las funciones recursivas.
2) La recolección automática de basura es esencial para implementar la recursividad.
Falso, la recolección automática de basura no es esencial.
3) La asignación dinámica de registros de activación es esencial para implementar la recursividad.
Cierto, como el número de llamadas o el número de registros de activación no se conoce por adelantado para las funciones recursivas.
4) Tanto el montón como la pila son esenciales para implementar la recursividad.
El montón no es necesario para las llamadas a funciones. Generalmente se usa para la asignación dinámica de memoria por parte del usuario (o programador).
Consulte Disposición de la memoria de los programas en C para obtener más información.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA