PUERTA | Sudo GATE 2020 Mock I (27 de diciembre de 2019) | Pregunta 46

Haga coincidir las siguientes Lista-I y Lista-II:

Lista-I Lista-II
P. Fuga de memoria 1.

#include 
  
void fun(int x) 
{ 
    if (x == 1) 
       return; 
    x = 6; 
    fun(x); 
} 
  
int main() 
{ 
   int x = 5; 
   fun(x); 
} 
P. Puntero colgante 2.

char* func()
{
   char str[10];
   strcpy(str,"Hello!");
   return(str); 
}
R. Desbordamiento de pila 3.

#include < stdlib.h >

  void f() {
    int * ptr = (int * ) malloc(sizeof(int));
    /* Do some work */
    return;
  }
S. Puntero salvaje 4.

int main() 
{ 
  int  *p; 
  int a = 10; 
  p = &a;  
  *p = 12; 
} 


(A)
P-1, Q-4, R-3, S-2
(B)
P-1, Q-2, R-3, S-4
(C)
P-3, Q-4, R-1, S-2
(D)
P-3, Q-2, R-1, S-4
Responder:

(D)
Explicación:

Pérdida de memoria
ocurre cuando los programadores crean una memoria en el montón y se olvidan de borrarla.

Un puntero que apunta a una ubicación de memoria que se ha eliminado (o liberado) se denomina puntero colgante .

Si la función se llama recursivamente a sí misma infinitas veces, la pila no puede almacenar una gran cantidad de variables locales utilizadas por cada llamada de función y dará como resultado un desbordamiento de la pila .

Un puntero que no se ha inicializado en nada (ni siquiera en NULL) se conoce como puntero salvaje . El puntero puede inicializarse en un valor de basura no NULL que puede no ser una dirección válida.

Por lo tanto, P – 3, Q – 2, R – 1, S – 4.

La opción (D) es correcta.
Cuestionario de esta pregunta

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *