Bonsoir à tous,

J'ai besoin de créer un tableau de structures; jusque là tout va bien. Cette structure contient un char et un pointeur vers une structure du même type (c'est une pile)

Ce dont j'ai besoin c'est, après avoir généré ma pile, la parcourir.
L'idée est de lire le caractère contenu dans ma pile (elle même contenu dans un tableau), et de passer a l'élément suivant (ou précédent, vu que c'est une pile); et en faire de même tant que ce caractère n'est pas égal à -1.

Ci-joint le bout de code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
typedef struct pile_s{
	struct pile_s *prec;
	char bit;
}pile;
 
void ecrireCode(uchar *buffer, short *posBuffer, pile code[], uchar c, FILE *g)
{
	pile a;
	a=code[(int)c];
	while (a.bit!=-1)
	{
		*buffer=(*buffer>>1);						// Décaler les bits vers la droite
		*buffer+= a.bit;						// Écrire le nouveau bit
		*posBuffer+=1;
		a=*(a.prec);							// Erreur de segmentation...
		if (*posBuffer==8)
		{
			fprintf(g,"%c",*buffer);
			*posBuffer=0;
		}
	}
}
Des heures que je tourne en rond... J'espère que l'on me trouvera une erreur bête :]

Merci de vos réponses.