Une fonction est un sous-programme auquel, lors de son appel, on
transmet une liste de paramètres (qui peut être vide) et qui peut
retourner une valeur, comme résultat, à la fonction appelante.
Dans certains langages (Pascal, ...), les sous-programmes
sont de deux sortes :
les procédures, qui peuvent avoir des effets de bord
(modifier des variables
globales ou les paramètres), mais ne retournent pas de
valeur ;
les fonctions, qui ne doivent pas avoir d'effets de bord,
mais retournent une valeur en résultat.
Le langage C ne comportent qu'une notion, la fonction. Il est
tout de même conseillé de programmer en faisant la différence.
La structure d'un
programme C est une
structure en râteau
: les fonstions sont déclarées les unes à la suite des autres.
Une fonction ne peut pas être déclarée à l'intérieur d'une autre,
même si elle n'est appelée que par cette dernière. Cela nuit à la
lisibilité, car on sait pas, en paracourant un fichier source,
quelles sont les fonctions importantes.
La structure du
programme ne peut pas refléter l'approche de décomposition
descendante.
En C ANSI, une fonction peut avoir deux parties, une partie
spécification (pu