Fonctions tableaux arguments

Fermé
haikei00X Messages postés 67 Date d'inscription dimanche 20 juillet 2014 Statut Membre Dernière intervention 11 janvier 2016 - 28 oct. 2014 à 23:45
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 29 oct. 2014 à 10:31
Bonjour tout le monde.
J'ai un petit souci et j'ai besoin de votre aide.Je veux comprendre pourquoi lorsqu'on a une fonction qui a un tableau comme argument on écrit l'entête suivante:
(par exemple)
void fonction(int T[])
Mais lors de l'appel dans le main on écrit
fonction(T);
et non pas fonction(T[])
J'ai vraiment envie de comprendre ce qui se passe au niveau de la mémoire.
MERCI

1 réponse

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
29 oct. 2014 à 10:31
Bonjour,

Lorsque tu déclares un tableau, tu utilises la notation :
int T[TAILLE];
Le nom du tableau est T. C'est le nom de la variable qu'il faut envoyer en paramètre.

void fonction(int T[])
Tu mets int T[], pour dire que préciser le nom de la variable (ici T), et son type.
Précision : int T[] est équivalent à int *T dans ce contexte. Cela signifie que tu précises que la variable T est de type pointeur.

Du coup, il faut bien faire fonction(T); tu envoies la variable T en paramètre. T[] tout court n'a pas de sens.

Cdlt,
1