Bonjour,
j'ai un problème de destruction de cellule d'une liste chainée :
je crée dans mon main un tabelau de listes : List *L= New List[4], puis je veux qu'elle soit modifié par une fonction f qui rajoute une cellule à la liste et dans cette fonction j'utilise d'autres fonction qui utilise cette liste.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
voila en gros l'architechture du programme :
Les allocations mémoires sont bonnes, le problème est que lorsque je quitte la fonction f2 la valeur de L->i devient 0 alors que L->c reste correcte (alors qu'avant et dans la fonction f2, elles sont ttes les deux correctes).
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
de plus lorsque je sort de la fonction f, la première cellule de la liste L[i] qui a buggé prend les valeurs de L[i+1] pour i et c mais par contre conserve le pointeur vers la cellule suivante correctement...
bref je comprend pas trop ce qu'il se passe, est ce que le fait d'utiliser des &L et L ne provoque pas une destruction de cellule lorsque la fonction f2 se termine car juste avant le return tt est bon et apres la fonction f2 ca a bugger...

 

 
		
		 
        

 
			
			

 
   


 probleme à la fermeture d'une fonction, Liste chainée
 probleme à la fermeture d'une fonction, Liste chainée
				 Répondre avec citation
  Répondre avec citation
Partager