Maison  >  Article  >  développement back-end  >  Quel est le but des prototypes de fonctions en C/C++ ?

Quel est le but des prototypes de fonctions en C/C++ ?

WBOY
WBOYavant
2023-09-12 22:33:03820parcourir

Quel est le but des prototypes de fonctions en C/C++ ?

Ici, nous comprendrons quel est le but de l'utilisation d'un prototype de fonction en C ou C++. Le prototype de fonction est utilisé pour indiquer au compilateur le nombre de paramètres et les types de données requis pour les paramètres de la fonction. Il indique également au compilateur le type de retour de la fonction. Sur la base de ces informations, le compilateur vérifie la signature de la fonction avant d'appeler la fonction. Si le prototype de fonction n'est pas mentionné, le programme peut alors compiler avec quelques avertissements et parfois produire une sortie étrange.

Des problèmes peuvent survenir si une fonction est appelée quelque part mais que son corps n'est pas encore défini, il est défini après la ligne actuelle. Le compilateur ne peut pas trouver ce qu'est la fonction et quelle est sa signature. Dans ce cas, nous avons besoin de prototypes de fonctions. Si la fonction a été définie auparavant, nous n'avons pas besoin de prototype.

Exemple de code

#include<stdio.h>
main() {
   function(50);
}
void function(int x) {
   printf("The value of x is: %d", x);
}

Output

The value of x is: 50

Cela montre la sortie mais il affiche quelques avertissements comme indiqué ci-dessous :

[Warning] conflicting types for &#39;function&#39;
[Note] previous implicit declaration of &#39;function&#39; was here

Maintenant, en utilisant le prototype de fonction, il s'exécute sans aucun problème.

Exemple de code

#include<stdio.h>
void function(int); //prototype
main() {
   function(50);
}
void function(int x) {
   printf("The value of x is: %d", x);
}

Sortie

The value of x is: 50

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer