Par opposition, à la déclaration de la
fonction (signature
seule, il ne suffit pas de donner le type des paramètres formels,
il faut en donner le nom, pour qu’ils puissent être utilisés dans
le corps de la fonction).
Elle modifie un élément (indiqué par un indice, index) d’une
variable externe,
le tableau tab. Elle
ne rend pas de résultat apparent (void). Pourtant elle a un
effet.
void modifier_Element (int index , int valeur) {
tab[index] = valeur ;
}
Une autre fonction avec un
effet de bord (utilisation des pointeurs comme
paramètres)
void echange (int *pi, int *pj ) ; /* on n'en donne que
la déclaration */
echange (&i, &j) ;
Le but est bien d’échanger les valeurs des variables i
et de j. On passage à la fonction les
adresses de i et j. On n'est pas intéressé par le résultat
(void)