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>, ... |
1 | |
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 desdonnées locales (c.-à-d.: des
données qui sont uniquementconnues à l'intérieur de
la fonction) |
|
<instructions> - la liste des
instructions qui définit l'action qui doit êtreexé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 rien() {}
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:
cout<<"hello, world"<<endl;