Différence entre le prototype de fonction et la définition de fonction en C

Différence de clé - Prototype de fonction vs définition de fonction en C
 

Une fonction est un groupe d'instructions utilisées pour effectuer une tâche spécifique. En programmation C, l'exécution commence par main (). C'est une fonction. Plutôt que d’écrire toutes les déclarations dans le même programme, il peut être divisé en plusieurs fonctions. Chaque fonction effectuera différentes fonctionnalités. Le prototype de fonction indique au compilateur le nom de la fonction, les types de retour et les paramètres. Il est également appelé déclaration de fonction. Chaque fonction a un nom particulier pour l'identifier. Les instructions de fonction sont écrites entre deux accolades. Les fonctions peuvent renvoyer une valeur. Certaines fonctions ne renvoient pas de valeur. Les données sont transmises à la fonction à l'aide de la liste de paramètres. La définition de fonction a la fonctionnalité réelle réalisée par la fonction. En programmation C, il existe un prototype de fonction et une définition de fonction. le différence clé entre le prototype de fonction et la définition de fonction est que le le prototype de fonction ne contient que la déclaration de la fonction alors que la définition de la fonction contient la mise en oeuvre réelle de la fonction. La définition de fonction a les variables locales et les instructions qui déterminent ce que fait la fonction.

CONTENU

1. Vue d'ensemble et différence clé
2. Quel est le prototype de fonction en C
3. Qu'est-ce que la définition de fonction en C
4. Similarités entre le prototype de fonction et la définition de fonction en C
5. Comparaison côte à côte - Prototype de fonction vs Définition de fonction en C sous forme tabulaire
6. Résumé

Quel est le prototype de fonction en C?

Le prototype de fonction fournit la déclaration de fonction. Il spécifie le nom de la fonction, les types de retour, les paramètres. Les types de retour sont le type de données renvoyé par la fonction. Lorsqu'une fonction renvoie un entier, le type de retour est int. Lorsqu'une fonction renvoie une valeur float, le type de retour est un float. Si la fonction ne renvoie aucune valeur, c'est une fonction vide. Le nom de la fonction est utilisé pour l'identifier. Les mots-clés C ne peuvent pas être utilisés comme noms de fonction. Les données sont transmises à la fonction à l'aide de paramètres. Le prototype de fonction ne contient pas l'implémentation réelle de la fonction. Le prototype de fonction a la syntaxe suivante.

(liste de paramètres);

S'il existe une fonction pour calculer le maximum de deux nombres, la déclaration peut être écrite sous la forme int max (int num1, int num2); La valeur maximale doit être trouvée dans num1 et num2. Ce sont des entiers et ils sont passés à la fonction. Le type de retour, au début, est également int. Ainsi, la fonction retourne une valeur entière. Il n’est pas nécessaire d’écrire les noms de paramètres dans le prototype de fonction. Mais il est nécessaire d'écrire les types de données. Par conséquent, int max (int, int); est également un prototype de fonction valide. S'il existe deux entiers, num1, num2, num3 et que le prototype est écrit int max (int num1, int num2, num3); c'est invalide. Num1, num2 ont les types de données, mais num3 n'a pas de type de données. Par conséquent, il est invalide.

Voir le programme ci-dessous.

#comprendre

int CarMax (int x, int y);

int main()

int p = 10;

int q = 20;

int réponse;

answer = calMax (p, q);

printf (“La valeur maximale est% d \ n”, réponse);

retourne 0;

int calMax (int p, int q)

int valeur;

si (p> q)

valeur = p;

autre

valeur = q;

valeur de retour;

Selon ce qui précède, la deuxième déclaration montre le prototype de fonction. Il n'a pas la mise en œuvre. La mise en œuvre effective est postérieure au programme principal. Les prototypes de fonctions sont plus utiles lors de la définition d'une fonction dans un fichier source et appellent cette fonction dans un autre fichier.

Qu'est-ce que la définition de fonction en C?

La définition de fonction a l'implémentation réelle de la fonction. Il contient ce que la fonction devrait faire. Lorsque le programme appelle la fonction, la commande est transférée à la fonction appelée. Après l'exécution de la fonction, le contrôle revient à la fonction principale. Les données requises sont transmises à la fonction sous forme de liste de paramètres. Si une valeur est retournée, le type de retour est mentionné. S'il n'y a aucune valeur renvoyée, le type de retour est void. Reportez-vous à la fonction ci-dessous pour calculer l'aire d'un triangle.

#comprendre

float calArea (int x, int y);

int main ()

int p = 10;

int q = 20;

zone flaot;

area = calArea (p, q);

printf (“La valeur maximale est% f \ n”, area);

retourne 0;

float calArea (int x, int y)

valeur flottante;

valeur = 0,5 * x * y;

valeur de retour;

Selon le programme ci-dessus, la deuxième déclaration indique le prototype de fonction. L'implémentation réelle de ce que la fonction effectue est écrite après le programme principal. C'est la définition de la fonction. Les valeurs p et q sont transmises à la fonction calArea. La valeur de la variable est une variable locale de la fonction calArea. La surface est calculée et affectée à la valeur de la variable. Ensuite, il est renvoyé au programme principal..

Quelles sont les similitudes entre le prototype de fonction et la définition de fonction en C?

  • Le prototype de fonction et la définition de fonction sont liés aux fonctions.
  • Le prototype de fonction et la définition de fonction contiennent le nom de la fonction.
  • Le prototype de fonction et la définition de fonction contiennent des types de retour.
  • Le prototype de fonction et la définition de fonction contiennent des paramètres.

Quelle est la différence entre le prototype de fonction et la définition de fonction en C?

Prototype de fonction vs définition de fonction en C

Le prototype de fonction spécifie le nom de la fonction, le type de retour, les paramètres mais omet le corps de la fonction. La définition de fonction spécifie le nom de la fonction, le type de retour; les paramètres incluent un corps de fonction.
la mise en oeuvre
Le prototype de fonction n'a pas l'implémentation de la fonction. La définition de la fonction a l'implémentation de la fonction.

Résumé - Prototype de fonction vs définition de fonction en C

L'utilisation de fonctions dans les programmes présente des avantages. Les fonctions augmentent la réutilisabilité du code. Il n'est pas nécessaire d'écrire le même code encore et encore. Au lieu de cela, le programmeur peut diviser le programme et appeler la fonction nécessaire. En C, il y a des fonctions de bibliothèque. Ces fonctions sont déclarées dans les fichiers d’en-tête C. Certains d'entre eux sont printf (), scanf () etc. Le programmeur peut également écrire ses propres fonctions. Deux termes sont associés à des fonctions en C. Ils correspondent à un prototype et à une définition de fonction. La différence entre le prototype de fonction et la définition de fonction en C est que le prototype de fonction ne contient que la déclaration de la fonction alors que la définition de fonction contient l'implémentation réelle de la fonction.

Télécharger le PDF de Prototype de fonction vs Définition de fonction en C

Vous pouvez télécharger la version PDF de cet article et l'utiliser à des fins hors ligne, conformément à la note de citation. Veuillez télécharger la version PDF ici: Différence entre le prototype de fonction et la définition de fonction en C

Référence:

1.C Définitions de fonction. Disponible ici 
2.tutorialspoint.com. "Fonctions C".  Le pointDisponible ici 

Courtoisie d'image:

1.'Le langage de programmation C logo'Par Rezonansowy (domaine public) via Wikimedia Commons