Bonjour a tous, j'aimerais faire une liste générique, mais j'ai un peu de mal...
Je voudrais instancier cette liste generique en liste de caractere.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
typedef struct t_Liste{
   void * Ptr_val;         // pointeur sur un type de valeur desire
   struct t_Liste* Suiv; // pointeur sur element suivant
} t_Liste;
J'ai une fonction ajouter_fin, qui ajoute un element en fin de liste:
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
 
 /* ajoute un pointeur sur valeur en fin de liste*/
 int Ajouter_fin(t_Liste * L, void * Ptr_valeur)
 {
   t_Liste * temp;
   // attribuer de l'espace
   temp=(t_Liste*)malloc(sizeof(struct t_Liste));
 
 if (L == NULL) /* si liste vide*/
   {
     L=temp;
     L->Ptr_val = Ptr_valeur; //pointer valeur
     L->Suiv = NULL; //fin de liste
   }
   else
   {
     temp=L;
     while (temp->Suiv != NULL) {
         temp=temp->Suiv;
     }
     /*on est arrive a la fin de la liste*/
     temp->Ptr_val=Ptr_valeur;
     temp->Suiv=NULL;
   }
   return 0;
 }
et mon main:
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
 
int main()
{
 
    struct t_Liste * Liste_char;
    Liste_char = (t_Liste*)malloc(sizeof(struct t_Liste));
    Liste_char = NULL;
    char vide; //pour vider le saut ligne du buffer
    char * c;
    c=(char *)malloc(sizeof(char));
 
    printf("Taper le caractere a ajouter: \n");
    *c=getchar();
    while (*c != '0') {
      vide=getchar();
      Ajouter_fin(Liste_char,c);
      c=(char *)malloc(sizeof(char));
      printf("Taper le caractere a ajouter: \n");
      *c=getchar();      
    }
 
    printf("debut: %p\n",Liste_char->Ptr_val);
    printf("Affichage de la liste\n");
    Afficher_liste(Liste_char);
    system("pause");    
}
Les soucis: - ma liste est toujours vide!
- afficher un type donné (ici caractere) alors que en generique j'ai <void * ptr_val> comme valeur de l'element de la liste?

Si quelqu'un peut m'aider svp ? D'avance merci !
a bientot