[C con Clase] Duda sobre codigo listas enlazadas punteros y free

Matias M. section1.op en gmail.com
Mie Dic 27 20:53:04 CET 2017


Buenas lista...tanto tiempo..

Es algo rápido que no estoy dando con la solución..
supongo que soy YO el que esta mal..

tengo este código de listas linkeadas que hice para probar(hice un
pastebin colorido)
http://dpaste.com/059KFXV

que básicamente agrega números a una lista y los borra
usando punteros...
en la parte de eliminar tengo el codigo asi:

        while (*pstart) {
                if ((*pstart)->number == num ) {
                        free(*pstart);
                        *pstart = (*pstart)->next;
                        return;
                }
                pstart = &(*pstart)->next;
        }

si el numero es el que yo busco/paso
hace un free primero
y después usa el mismo "puntero a puntero"(pstart)
para apuntar al próximo ...

esto funciona y no entiendo porque..si antes hice un free.
no se de donde saca la info para el próximo:
(*pstart)->next;

no se si me explico bien pero cualquier cosa me preguntan.
Saludos
Matias.

PD: Buenas fiestas para todos/as.




Más información sobre la lista de distribución Cconclase