signature d'une fonction

Pour permettre la récursivité croisée, on peut séparer la déclaration de la fonction (seulement sa signature), de sa définition (on associe un corps, un bloc d'instructions à la fonction.

La signature (ou en-tête) d'une fonction donne un nom à la fonction, déclare ses paramètres (on les appelle paramètres formels par opposition aux paramètres effectifs des appels de fonctions) et précise le type du résultat.

La signature a la forme suivante :

type_rendu nom_fonction (listes de déclarations des paramètres) ;

Quelques exemples

int add (int i, int j) ;

int compare (char car1, char car2);

Notez que c'est la virgule, et non le point virgule, qui sépare les déclarations de paramètres.

Si une fonction ne possède pas de paramètres, il est conseilé d'utiliser le mot clé void (mais les parenthèses seules suffisent).

int fonc (void) ;

int fonc () ;

Le nom des paramètres peut être omis lrsque l'on déclare une fonction (signature seule). Pour apeller une fonction, seul le nombre et le type des paramètres sont utiles.

Les fonctions, jouant le rôle de procédues (elles ne retournent aucune valeur), doivent être déclarées comme retourant le type void. Le type void peut être omis, mais il est conseillé de l'indiquer. Ceratains compilateurs le demanderont.

Le type du résultat d'une fonction ne peut pas être un type tableau ou fonction (car ce sont des types non afectables), mais un type saclaire, un type structure ou un type union.

On n'est pas obligé de séparer déclaration et définition d'une fonction.

» Glossaire du langage C