Puntero a puntero en C: ejercicio resuelto con cambio de referencia

  2 minutos

Si buscas puntero a puntero en C ejercicio resuelto, este ejemplo explica como cambiar un puntero original dentro de una función.

Crea una función que reciba int **p y redirija *p hacia otro entero.

#include <stdio.h>

void redirigir(int **p, int *nuevo_objetivo) {
    *p = nuevo_objetivo;
}

int main(void) {
    int a = 10;
    int b = 99;
    int *p = &a;

    printf("Antes: %d\n", *p);
    redirigir(&p, &b);
    printf("Despues: %d\n", *p);

    return 0;
}
Antes: 10
Despues: 99
  • funciones que reservan memoria y devuelven puntero,
  • estructuras enlazadas (insertar/borrar cabeza),
  • APIs que necesitan reescribir referencias.
  • Pasar p en lugar de &p.
  • No diferenciar p, *p y **p.
  • Desreferenciar punteros no inicializados.

Si quieres una ruta completa con progresión real de dificultad:

Sí. Trabaja patrones que aparecen mucho en prácticas, entrevistas técnicas y evaluaciones de programación en C.

En Programación en C en 100 ejercicios resueltos y en Ejercicios C. Kindle Unlimited: Ver en Amazon.

Empieza con entradas pequeñas, prueba casos límite (vacío, un elemento y capacidad máxima) y luego reescribe la solución sin copiarla.