bonjour à tous,
j'ai un problème de pointeurs et je suis dessus depuis tout à l'heure et je n'arrive pas à trouver la solution, le probleme est que je dois rendre ce tp aujourd'hui.

voici mes structures de données:
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
 
struct quadruplet
{
	char * ch1;
	char * ch2;
};
typedef struct quadruplet  quadruplet;
 
struct li
{
char *ch1;
char *ch2;
struct li * suiv;
};
typedef struct li *li;
voici mon 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
23
24
25
26
27
28
29
li ajouter_inst(quadruplet elt,li liste)
{
li l1= liste ;
//allouer un maillon
li q =(li)malloc(sizeof(li));
 
q->ch1 =(char*) malloc(sizeof(char) * strlen(elt.ch1));
q->ch2 =(char*) malloc(sizeof(char) * strlen(elt.ch2));
q->ch1=elt.ch1;
q->ch2=elt.ch2;
q->suiv = NULL;
 
//ajouter à la fin de la liste 
 
if(l1!=NULL)
	{	
		while(l1->suiv!=NULL)
		{
			l1=l1->suiv;
		}
 
		l1->suiv=q;
		}
else { 
		 liste =q; }
return liste;
 
 
}
voici l'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Erreur	56	error C2040: 'ajouter_inst'*: les niveaux d'indirection de 'li (quadruplet,li)' et de 'int ()' sont différents	C:\Users\yasmine\compile The one\myparser.y	331
y'a t-il une solution à ça? je me noie

merci d'avance