Hello
Voilà j'ai un soucis sûrement tout bête mais pas moyen de trouver.
tab.c - Code:
-
#include <stdio.h>
#include <stdlib.h>
#include "tab.h"
liste *creer()
{
liste *nouvelle = malloc(sizeof(liste));
nouvelle->first = nouvelle->last = NULL;
nouvelle->len = 0;
return nouvelle;
}
void ajouter(liste *ma_liste, char *ch)
{
elt *elem = malloc(sizeof(elt));
elem->chaine = ch;
if(ma_liste->len == 0)
{
elem->prec = elem->suiv = NULL;
ma_liste->first = ma_liste->last = elem;
}
else
{
elem->prec = ma_liste->last;
elem->suiv = NULL;
ma_liste->last = elem;
}
ma_liste->len++;
}
int main(int argc, char **argv)
{
liste *List = creer();
int i;
for(i=0; i<argc; i++)
{
ajouter(List, argv[i]);
printf("%s\n", List->first->chaine);
List->first = List->first->suiv;
}
free(List);
return EXIT_SUCCESS;
}
tab.h - Code:
-
#ifndef TAB_H_INCLUDED
#define TAB_H_INCLUDED
typedef struct
{
char *chaine;
struct elt *suiv;
struct elt *prec;
} elt;
typedef struct
{
elt *first;
elt *last;
int len;
} liste;
liste *creer();
void ajouter(liste *ma_liste, char *ch);
#endif
Quand je compile j'ai cette erreur --> /home/fred1599/Desktop/tab.c|25|warning: assignment from incompatible pointer type [enabled by default]|
et --> /home/fred1599/Desktop/tab.c|41|warning: assignment from incompatible pointer type [enabled by default]|
Donc ligne 25 et 41 qui sont :
- Code:
-
elem->prec = ma_liste->last;
- Code:
-
List->first = List->first->suiv;
Pourtant dans mon .h il ne me semble pas m'être trompé, bref un peu d'aide me serait utile