Nous allons voir sur ce cours, des notions du mot fonction. Bien évidement, cela n’est pas nouveau pour vous car
nous avons déjà vu la structure d’une fonction et la fonction principale main.
Il ne faut pas s’attendre à ce que nous répétions la même chose. Non, si le mot fonction vous parait nouveau,
retournez lire ce cours .
Nous allons voir ensemble, ici et tout de suite, comment créer sa propre fonction et comment appeler une fonction dans un programme C ou C++.
Pour créer une fonction, il faut définir le prototype de la fonction et la fonction elle-même.
Le prototype d’une fonction est une description qui sert à indiquer au compilateur certaines données qui lui permet de vérifier à chaque appel de la fonction que le nom et le type de paramètres, ainsi que les valeurs de retour sont corrects.
Le prototype d’une fonction est identique à l’entête d’une fonction. Il est à noter que le prototype est une instruction, donc il se termine par un point virgule (;).
Syntaxe :
type_fonction nom_fonction (type_argument nom_argument1, type_argument nom_argument2,..);
Exemple :
Pour définir une fonction, il faut définir l’entête de la fonction, le corps de la fonction et le renvoie de la valeur.
L’entête de la fonction est la même chose que le prototype. Voyons ce que signifient les expressions qui définissent l’entête.
Exemple 1 :
Exemple 2 :
Le corps de la fonction est constitué par des variables (variables locales) et des instructions. Il est délimité par des accoladés ({}).
Syntaxe :
{
variables locales
instructions
}
Exemple :
On utilise return pour renvoyer une valeur. le cas de la fonction void, il n'y a aucune valeur à renvoyer.
Syntaxe :
return valeur ;
Exemple :
En langage C, les plus gros programmes sont fait à partir des plusieurs petits programmes appelés fonction. Ces
petits programmes sont appelés au sein d’un programme pour former un gros programme.
L’avantage de créer des fonctions, est d’éviter de répéter la même chose sur un programme. Ce qui rend le code plus
propre et plus lisible.
Bon, voyons via le schéma ci-dessous, comment cela se passe.
Le schéma nous montre clairement comment appeler des fonctions à l’intérieur de la fonction main.
Alors qu’est ce qui se passe réellement si une fonction est appelée ???
Quand une fonction est appelée à un endroit, une fois le programme arrivé sur cet endroit, il exécute toutes les instructions du corps de la fonction avant d’attaquer les instructions se trouvant juste après la fonction.
Il y a une logique nécessaire à comprendre. Par exemple si l’entête de la fonction est int mafonction (int x, int y, int z) et que l’appel de la fonction est mafonction (1,8,9), alors 1 sera attribué à x, 8 à y et 9 à z.
Pour appeler une fonction, nous allons voir tout de suite deux manières de le faire.
Nom de la fonction suivi de la liste d’arguments mises entre parenthèses.
Exemple :
Elle consiste à utiliser la fonction comme étant une expression. Pour bien comprendre, voyons cet exemple :
Exemple :
Pour vous dire au revoir, nous allons faire un exemple concret pour mieux comprendre la théorie que nous venons
d’expliquer :
Notre programme consiste à calculer le nombre total des élèves du lycée.
Code C:
Voici le résultat: