Truc de pointeur SVP aide mw C

Résolu/Fermé
kribac Messages postés 104 Date d'inscription mercredi 16 janvier 2008 Statut Membre Dernière intervention 28 avril 2016 - 5 mai 2010 à 00:43
kribac Messages postés 104 Date d'inscription mercredi 16 janvier 2008 Statut Membre Dernière intervention 28 avril 2016 - 5 mai 2010 à 13:49
bonjour a ts bon voila ma structure


typedef struct telephone {
int n1;
int n2;
char c[20];
int ind;
int occupe;
struct telephone * sv;
}tel;




voila ma fonction ajouter une structure


void ajouter(liste*l,int a,int b,char k, int i) {
liste p; p=*l;
liste nouveau=(liste)malloc(sizeof(tel));
nouveau->n1=a;
nouveau->n2=b;
nouveau->ind=i;
nouveau->occupe=1;
strcpy(nouveau->c,k); // erreur ici passing arg 2 of 'strcpy' makes pointer from integer
without a cast
nouveau->sv=NULL;
if(*l==NULL)*l=nouveau;
else { while(p->sv!=NULL) p=p->sv;
p->sv=nouveau;
}
}



int n,N1,N2;
char p[20];

liste pol1=NULL;


printf("%2d -N1=",i+1);
scanf("%d",&N1);
printf(" -c1c2c3=");
scanf("%s",p);
printf(" -N2=",i+1);
scanf("%d",&N2);

ajouter(&pol1,N1,N2,p,5); // erreur ici passing arg 4 of 'ajouter' makes integer from pointer
without a cast



bon le prog marche tr bien dans le cas ou j'enléve "char k" et "p"
donc j 1 problem avec ce K é ça dans l'appel donc je savoir comment l'appeler ds la fonction ?? est ce que ajouter(&pol1,N1,N2,&p,5); ??? ou bien dans la fonction ajouter(liste*l,int a,int b,char * k, int i) ??? ché plu aidé mw
A voir également:

1 réponse

Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 661
5 mai 2010 à 00:47
salut,
le paramètre k est une chaine, ça doit être un "char * ", pas un "char" (dans la déclaration de ta fonction)
1
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 661
5 mai 2010 à 00:48
un char, c'est juste un caractère, ou autrement dit (presque pareil) un nombre entre 0 et 255 (d'où le message d'erreur). une chaine c'est un tableau de caractère.
0
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 661
Modifié par Pacorabanix le 5/05/2010 à 00:52
de plus pour ton histoire de liste, malloc renvoie un pointeur, donc selon toute vraisemblance un " liste * ", ou alors je nai pas bien compris ton programme
0
kribac Messages postés 104 Date d'inscription mercredi 16 janvier 2008 Statut Membre Dernière intervention 28 avril 2016 10
5 mai 2010 à 13:49
merci bqqq pacorabanix sa marche tr b1 avc " char * " merci encore
0