Previous Next Up Index Contents

2.2.1. Les fonctions

En C, le programme principal et les sous-programmes sont définis comme fonctions. Il n'existe pas de structures spéciales pour le programme principal ni les procédures (comme en Pascal ou en langage algorithmique).

Le programme principal étant aussi une 'fonction', nous devons nous intéresser dès le début à la définition et aux caractéristiques des fonctions en C. Commençons par comparer la syntaxe de la définition d'une fonction en C avec celle d'une fonction en langage algorithmique:

Définition d'une fonction en langage algorithmique

   fonction <NomFonct> (<NomPar1>, <NomPar2>, ...):<TypeRés>
   |   <déclarations des paramètres>
   |   <déclarations locales>
   |   <instructions>
   ffonction

Définition d'une fonction en C

   |<TypeRés> <NomFonct> (<TypePar1> <NomPar1>,
   |                      <TypePar2> <NomPar2>, ... )
   |{
   |   <déclarations locales>
   |   <instructions>
   |}

En C, une fonction est définie par:

* une ligne déclarative qui contient:


<TypeRés> - le type du résultat de la fonction


<NomFonct> - le nom de la fonction

<TypePar1> <NomPar1>, <TypePar2> <NomPar2>, ...

les types et les noms des paramètres de la fonction

* un bloc d'instructions délimité par des accolades { }, contenant:


<déclarations locales> - les déclarations des données locales (c.-à-d.: des données qui sont uniquement connues à l'intérieur de la fonction)


<instructions> - la liste des instructions qui définit l'action qui doit être exécutée

Résultat d'une fonction

Par définition, toute fonction en C fournit un résultat dont le type doit être défini. Si aucun type n'est défini explicitement, C suppose par défaut que le type du résultat est int (integer).

Le retour du résultat se fait en général à la fin de la fonction par l'instruction return.

Le type d'une fonction qui ne fournit pas de résultat (comme les procédures en langage algorithmique ou en Pascal), est déclaré comme void (vide).

Paramètres d'une fonction

La définition des paramètres (arguments) d'une fonction est placée entre parenthèses ( ) derrière le nom de la fonction. Si une fonction n'a pas besoin de paramètres, les parenthèses restent vides ou contiennent le mot void. La fonction minimale qui ne fait rien et qui ne fournit aucun résultat est alors:

      void dummy() {}

Instructions

En C, toute instruction simple est terminée par un point-virgule ; (même si elle se trouve en dernière position dans un bloc d'instructions). Par exemple:

         printf("hello, world\n");


Previous Next Up Index Contents

Feedback - Copyright © 1993,1996,1997 F.Faber