Conversion

moloko2000 Messages postés 16 Date d'inscription mardi 5 août 2003 Statut Membre Dernière intervention 26 août 2003 - 14 août 2003 à 15:18
HCJarod Messages postés 221 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 11 décembre 2008 - 14 août 2003 à 15:46
y a t'il un moyen de convertir un char[25] en un char* (un moyen d'obliger le compilateur à accepter ce genre de conversion)

2 réponses

cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
14 août 2003 à 15:28
Salut,
char[25] est un tableau de char.
char* est un pointeur sur un char.

Si ton compilo te sort cette erreur c'est que tu as passé un tableau entier a une fonction qui ne demande qu'un char* en argument.
0
HCJarod Messages postés 221 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 11 décembre 2008 1
14 août 2003 à 15:46
Pour moi si tu a par exemple :
char toto[25];
toto est un pointeur pointant l'adresse de base du tableau et dans toto[i], "i" est l'offset par rapport à cette adresse de base.
Comme le dit aardman, ne passe pas tout le tableau à une fonction qui attend un char*.
RMQ :char toto(25] est équivalent à
char *toto;
char *toto_base;
toto_base=molloc(sizeof(char)*25));
toto=toto_base;
et toto peut être incrémenter comme pour parcourir le tableau et on revient au début par toto=toto_base.

Si je me trompe, dites le...

a+
0
Rejoignez-nous