Cas
particulier d'un
tableau en paramètre d'entrée
- A l'appel d'une fonction qui contient un tableau en
paramètre effectif, il est nécessaire de préciser
le nombre effectifs d'éléments du tableau ==> un
paramètre formel de type int indiquant le nombre
d'éléments effectifs du tableau.
- La taille réelle d'un tableau peut ne pas
être donnée, car sa taille est déterminé par
le paramètre formel à l'appel. On peut donc utiliser la
notation type nomdutableau[] dans le
prototype.
exemple: la fonction moyTab calcule la
moyenne des éléments d'un tableau d'entier.
Prototype:
float fonction moyTab (>>int
leTab[],>> int nbEff)
Variables:
/* en entrée */
int i; /*
compteur pour la boucle for */
/* en sortie */
float laMoyenne; /*
La moyenne des nbEff éléments du tableau */
/* auxiliaires */
int somme=0;
/* Pour la somme des éléments du tableau */
Corps de l'algorithme:
for (i=0; i < nbEff; i+1)
somme = somme + leTab[i];
laMoyenne = somme / nbEff;
return(laMoyenne);
- Pour un tableau à N dimensions en
paramètre effectif d'une fonction, le principe est le même
il faut penser aux paramètres correspondants aux tailles
effectives en cas d'initilisation
partielle du tableau. La seule différence avec un tableau
à N dimensions est qu'il est obligatoire de donner au moins la
taille de toutes les dimensions sauf des lignes car sinon il est
impossible de savoir comment
est structuré le tableau dans la focntion.
exemple: Pour
un tableau à deux dimensions il faut donner au moins le nombre
de colonnes
du tableau .
float fonction moyTabCoef
(>>int leTab[][],>> int nbEffLig) ==> incorrect
float fonction moyTabCoef (>>int
leTab[][TAILLECOL],>> int nbEffLig)
==> correct
float fonction moyTabCoef (>>int
leTab[TAILLELIG][TAILLECOL],>> int nbEffLig) ==> correct
suivant
plan