suppression d'un maillon

suppression d'un maillon - C - Programmation

Marsh Posté le 06-01-2004 à 18:41:04    

Quelqu'un pourrait-il m'expliquer l'utilité de la boucle while dans ce cas précis s'il vous plait ??? Maillon et Debut sont des variables globales. En théorie, après le Free, l'égailté est forcément fausse non ???
 
reglst *desinserer(){
  reglst *maillon_suiv = debut;
  while ((maillon == maillon_suiv)){
    maillon_suiv = maillon->next;
    free(maillon->expr);
    free(maillon);
    return maillon_suiv;
  }
}

Reply

Marsh Posté le 06-01-2004 à 18:41:04   

Reply

Marsh Posté le 06-01-2004 à 18:45:26    

euh avec le return tu fais au plus une seul itération dans ton while.
 
 
«vous êtes le maillon faible aurevoir» désolé ...


Message édité par ffluff le 06-01-2004 à 18:45:50

---------------
«Le succès consiste à aller d'échecs en échecs sans jamais perdre son enthousiasme» - Churchill
Reply

Marsh Posté le 06-01-2004 à 18:45:46    

mondieumondieu
 
a rien, un if ferait aussi bien l'affaire

Reply

Marsh Posté le 06-01-2004 à 18:48:48    

Je me disais aussi ...

Reply

Marsh Posté le 06-01-2004 à 18:54:47    

ça marche mieux ça, non ???
 
 
reglst *suppression() {
  reglst *maillon_suivant = debut;
  while(maillon_suivant!=maillon) {
  maillon_suivant = maillon->next;
  }
  maillon_suivant = maillon->next;
  free(maillon->expr);
  free(maillon);
  return maillon_suivant;
}
 
Scusez, m'y suis mis y a quinze jours au C :D

Reply

Marsh Posté le 06-01-2004 à 18:57:17    

<ne se prononce pas>

Reply

Marsh Posté le 06-01-2004 à 19:09:03    

Ben s'il y a plus rapide, je suis preneur ... ça c'est censé venir du Fortran à l'origine.

Reply

Marsh Posté le 06-01-2004 à 19:11:54    

et ca marchait ?
parce que la, ben t'as un next qui va pointer dans les choux :o

Reply

Marsh Posté le 06-01-2004 à 19:26:26    

ben en fait, qd on appellait la fonction, c'est en faisant maillon=suppression();
Vi, je sais, quand les matheux programment, c'est pas bô à voir mdr

Reply

Marsh Posté le 06-01-2004 à 19:29:26    

mais que fait la commande free exactement ??? elle vide quoi qd on a construit un pointeur sur un type qui contient lui même des pointeurs ???

Reply

Marsh Posté le 06-01-2004 à 19:29:26   

Reply

Marsh Posté le 06-01-2004 à 19:32:20    

free efface ce qui a été alloué avec malloc

Reply

Marsh Posté le 06-01-2004 à 22:08:25    

struct choucroute
{
  choucroute* next;
};
 
delete sur un pointeur pointant vers une structure choucroute ne va détruire que celle-ci, pas ses "fils".


---------------
-( BlackGoddess )-
Reply

Marsh Posté le 07-01-2004 à 00:32:36    

bibi, tu veux qu'elle fasse quoi exactement ta fonction?
(as tu pense a ce qu'elle doit retourner si le maillon a virer est le premier, ou le dernier de ta liste chainée?)
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 07-01-2004 à 07:32:14    

gilou a écrit :

bibi, tu veux qu'elle fasse quoi exactement ta fonction?
(as tu pense a ce qu'elle doit retourner si le maillon a virer est le premier, ou le dernier de ta liste chainée?)
A+,


 
j'allais le dire.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed