Appel fonctions

Résolu/Fermé
haikei00X Messages postés 67 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 11 janvier 2016 - 4 sept. 2014 à 19:41
haikei00X Messages postés 67 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 11 janvier 2016 - 5 sept. 2014 à 12:56
Bonjour à tous.
Je sais que c'est une question bête , mais je vais la poser quand même.

Comment on fait pour appeler une fonction ayant comme argument un pointeur?
j'ai cherché sur internet j'ai trouvé qu'il faut utiliser le '&' . Par exemple
fonction( FILE *f)====>fonction(&f)
Est-ce correct?


J'attends avec impatience votre réponse.

2 réponses

haikei00X Messages postés 67 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 11 janvier 2016 3
4 sept. 2014 à 19:49
J'ai oublié d'ajouter qu'on utilise le '&' lors de l'appel si on déclare une variable qui n'est pas un pointeur et que la fonction prend comme argument un pointeur , on écrit donc fonction (&variable).
Mais si on déclare un pointeur , est-ce qu'il suffit de faire fonction(f) ?
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
4 sept. 2014 à 20:56
Bonjour,

Pour appeler cette fonction, il suffit d'envoyer l'adresse de la variable.
Donc si ta variable est :
type *t;
type t[MAX];

Il suffit de faire fonction(t).

Si la variable est :
type t;

Il suffit de faire fonction(&t);

Attention aux pièges. Par exemple, si la variable est :
type **t;
Il faudrait faire fonction(*t);

Cdlt,
0
haikei00X Messages postés 67 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 11 janvier 2016 3
Modifié par haikei00X le 5/09/2014 à 12:56
Merci fiddy . C'est plus clair maintenant.
0