bonjour, je ne comprend pas pourquoi mon code ne passe pas, et ai le warning suivant :
"assignment from incompatible pointer type " pour les lignes 15 et 26 du code dans ce fichier .c
Pourtant, je trouve que tout concorde, la partie suiv est bien un *P_un_element... et on peut utiliser les -> pour accéder a cette partie de structure parce que el est un P_un_element, donc un pointeur...
j'ai bien sur inclus les stdio et stdlib, mais je ne les recopierai pas.
le fichier .h :
Code :
- typedef int Tval;
- typedef struct _un_element{
- Tval elem_val;
- struct Un_element *suiv;
- }Un_element, *P_un_element;
- P_un_element creer_element(Tval val);
- void inserer_element_debut(P_un_element *liste, P_un_element el);
- void inserer_element_fin(P_un_element *liste, P_un_element el);
|
dans le fichier .c:
Code :
- P_un_element creer_element(Tval val){
- P_un_element el;
- el=malloc(sizeof(Un_element));
- if (el){
- el->elem_val=val;
- el->suiv=NULL;
- }
- return el;
- }
- void inserer_element_debut(P_un_element *liste, P_un_element el){
- el->suiv = *liste;
- *liste = el;
- }
- void inserer_element_fin(P_un_element *liste, P_un_element el){
- if (liste==NULL){
- *liste=el;
- }
- else{
- P_un_element temp = *liste;
- while (temp->suiv){
- temp = temp->suiv;
- }
- temp=el;
- }
- }
|
Message édité par nutrilifte le 26-03-2007 à 06:13:17