Fonctions tableaux arguments

haikei00X Messages postés 78 Statut Membre -  
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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