Prototypes de fonction
Fait partie de la section Fundamentals du Journey C de Coddy — leçon 51 sur 63.
En C, nous pouvons déclarer une fonction avant de l'utiliser. Un prototype de fonction informe le compilateur du nom, des paramètres et du type de retour d'une fonction avant que la fonction réelle ne soit définie.
Créez un prototype de fonction pour une fonction qui additionne deux entiers :
int add(int a, int b);Ensuite, définissez la fonction :
int add(int a, int b) {
return a + b;
}Le prototype est généralement placé au-dessus du main, tandis que la fonction elle-même se trouve en dessous du main, afin que le code soit plus lisible.
Maintenant, vous pouvez utiliser cette fonction dans le main :
int main() {
int result = add(5, 3);
printf("%d", result);
return 0;
}Sans le prototype, si vous appelez la fonction avant sa définition, vous obtiendrez une erreur de compilation.
Défi
FacileCréez un programme qui :
- Déclare un prototype de fonction pour une fonction nommée
calculateAreaqui prend deux entiers (length et width) et retourne un entier. - Implémente la fonction pour calculer et retourner l'aire (length × width).
- Dans la fonction main, il récupère deux entiers de l'utilisateur, appelle
calculateArea, et affiche le résultat.
Aide-mémoire
Un prototype de fonction déclare une fonction avant qu'elle ne soit définie, informant le compilateur du nom de la fonction, de ses paramètres et de son type de retour :
int add(int a, int b);Définissez ensuite la fonction :
int add(int a, int b) {
return a + b;
}Le prototype est généralement placé au-dessus de main, tandis que la définition de la fonction se place en dessous de main :
int add(int a, int b); // prototype
int main() {
int result = add(5, 3);
printf("%d", result);
return 0;
}
int add(int a, int b) { // définition
return a + b;
}Sans le prototype, l'appel d'une fonction avant sa définition provoquera une erreur de compilation.
Essayez vous-même
#include <stdio.h>
// Écrivez votre prototype de fonction ici
int main() {
// Déclarer et lire les variables
// Appelez votre fonction et affichez le résultat ici
return 0;
}
// Implémentez votre fonction iciCette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fundamentals
4Structures de contrôle
L'instruction IfIf - ElseElse-IfSwitch CaseOpérateur ternaireDéfi récapitulatifIf - Else imbriqués7Fonctions
Déclarer une fonctionTypes de retourParamètresDéfi récapitulatif n°1Bases de la récursivitéPrototypes de fonctionDéfi récapitulatif n°22Variables
Types de donnéesEntiersFloat - DoubleCaractèresBooléensConstantesLes bases de printfRègles de nommage des variablesType Casting Partie 1Type Casting Partie 2Défi récapitulatif3Opérateurs
Opérateurs arithmétiquesOpérateur moduloIncrémentation/DécrémentationOpérateurs d'affectationOpérateurs relationnelsOpérateurs logiques - Partie 1Opérateurs logiques - Partie 2Opérateurs logiques - Partie 3Défi récapitulatif