C | Conceptos básicos del puntero | Pregunta 2

Salida del siguiente programa?

# include <stdio.h>
void fun(int *ptr)
{
    *ptr = 30;
}
  
int main()
{
  int y = 20;
  fun(&y);
  printf("%d", y);
  
  return 0;
}

(A) 20
(B) 30
(C) Error del compilador
(D) Error de tiempo de ejecución

Respuesta: (B)
Explicación: La función fun() espera un puntero ptr a un entero (o una dirección de un entero). Modifica el valor en la dirección ptr. El operador de desreferencia * se utiliza para acceder al valor en una dirección. En la declaración ‘*ptr = 30’, el valor en la dirección ptr se cambia a 30. El operador de dirección & se usa para obtener la dirección de una variable de cualquier tipo de datos. En la instrucción de llamada de función ‘fun(&y)’, se pasa la dirección de y para que pueda modificarse utilizando su direcció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

Deja una respuesta

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