14.2. Transmission d'un tableau en paramètre d’une fonction

Icône de l'outil pédagogique Transmission d'un tableau en paramètre d’une fonction

Nous avons déjà étudié comment transmettre un tableau en paramètre d'une fonction. Essayons maintenant de comprendre ce qui se passe à la lueur de notre connaissance des pointeurs.

Exemple 89 : Transmission d'un tableau en paramètre

Lors de l'appel de la fonction initialiser, le paramètre formel tab reçoit une adresse, celle du début du tableau entier transmise par la fonction appelante main. tab est donc un pointeur sur un élément de tableau int, d'où sa définition de paramètre formel short int* tab.

Pour permettre de conserver les notations des tableaux (tab[i] est plus pratique que *(tab+i)), la Langage C autorise à « dissimuler » la nature de pointeur du paramètre formel tab en utilisant la notation avec crochets short int tab[ ] pour sa définition. Quand un nom de tableau est transmis en paramètre, on peut donc utiliser indifféremment dans la fonction la notation des tableaux ou celle des pointeurs. Bien sûr, celle avec les crochets est la plupart du temps préférable.