Puntero a puntero en C: ejercicio resuelto
Si buscas puntero a puntero en C ejercicio resuelto, este ejemplo explica como cambiar un puntero original dentro de una función.
Enunciado
Crea una función que reciba int **p y redirija *p hacia otro entero.
Solución en C
#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;
}Salida esperada
Antes: 10
Despues: 99Aplicación práctica
- funciones que reservan memoria y devuelven puntero,
- estructuras enlazadas (insertar/borrar cabeza),
- APIs que necesitan reescribir referencias.
Errores frecuentes
- Pasar
pen lugar de&p. - No diferenciar
p,*py**p. - Desreferenciar punteros no inicializados.
Siguiente ejercicio recomendado
- Malloc y free en C: ejercicio resuelto de memoria dinamica
- Punteros en C: ejercicios resueltos de paso por referencia
- Árbol binario en C: ejercicio resuelto de inserción y búsqueda
- Todos los ejercicios de C
Práctica guiada y libro completo
Si quieres una ruta completa con progresión real de dificultad:
FAQ
¿Este ejercicio sirve para entrevistas y exámenes de C?
Sí. Trabaja patrones que aparecen mucho en prácticas, entrevistas técnicas y evaluaciones de programación en C.
¿Dónde seguir con más ejercicios resueltos de C?
En Programación en C en 100 ejercicios resueltos y en Ejercicios C. Kindle Unlimited: Ver en Amazon.
¿Cómo practicar este tipo de ejercicio para mejorar más rápido?
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.