Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/03/2012, 08:43
totolia
 
Fecha de Ingreso: mayo-2008
Mensajes: 315
Antigüedad: 16 años
Puntos: 7
Problema lista con punteros

Hola verán, estoy haciendo una lista dinámica (una Cola), en que controlo las vidas de unos zombies (Se que suena un poco parida xD), lo suyo es que funciona como cualquier lista simplemente comprueba cuales no tienen vida y los borra de la lista, el problema me surge en el primer Zombie, que el programa me peta, cuando compruebo que no tienen anterior.

Código PHP:
void ControlarVidas(struct zombies *primerZombie){
    
struct zombies *anteriorZombie,*actualZombie,*borrar;
    
actualZombie=primerZombie;
    
anteriorZombie=NULL;
        while(
actualZombie!=NULL){
            if(
actualZombie->vida==0){
                if(
anteriorZombie==NULL){
                    
borrar=actualZombie;
                    
primerZombie=actualZombie->seguent;

                    
free(borrar);

                    
actualZombie=primerZombie;
                } else {
                    
borrar=actualZombie;
                    
anteriorZombie->seguent=actualZombie->seguent;
                    
actualZombie=actualZombie->seguent;

                    
free(borrar);
                }
            }
            
anteriorZombie=actualZombie;
            
actualZombie=actualZombie->seguent;
        }

    } 
PD: La parte de codigo que no me funciona es desde "if(anteriorZombie==NULL) hasta else", me pueden decir si es correcto, o en caso de no serlo. Personalmente creo que el error es anterior a este paso pero entonces no entiendo porque me muestra en la lista. Gracias