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

Table des matières:

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

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

Vidéo: Différence entre le prototype de fonction et la définition de fonction en C
Vidéo: Langage C -14- : - Définition et appel de fonction - variables locales et globales (Darija) 2024, Novembre
Anonim

Différence 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 à partir de main(). C'est une fonction. Plutôt que d'écrire toutes les instructions dans le même programme, il peut être divisé en plusieurs fonctions. Chaque fonction exécutera différentes fonctionnalités. Le prototype de fonction indique au compilateur le nom de la fonction, les types de retour et les paramètres. Elle est également connue sous le nom de déclaration de fonction. Chaque fonction a un nom particulier pour l'identifier. Les instructions de la fonction sont écrites à l'intérieur d'une paire d'accolades. Les fonctions peuvent retourner 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 la fonction contient la fonctionnalité réelle exécutée par la fonction. En programmation C, il existe un prototype de fonction et une définition de fonction. La principale différence entre le prototype de fonction et la définition de fonction est que le prototype de fonction ne contient que la déclaration de la fonction, tandis que la définition de fonction contient l'implémentation réelle de la fonction. La définition de la fonction contient les variables locales et les instructions qui déterminent ce que fait la fonction.

Qu'est-ce qu'un prototype de fonction en C ?

Function Prototype fournit la déclaration de la fonction. Il précise 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 flottante, le type de retour est un flottant. Si la fonction ne renvoie aucune valeur, il s'agit d'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 la 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 comme 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 renvoie une valeur entière. Il n'est pas nécessaire d'écrire les noms des paramètres dans le prototype de la 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 y a deux entiers comme num1, num2, num3 et le prototype est écrit comme int max(int num1, int num2, num3); c'est invalide. Les num1, num2 ont les types de données, mais num3 n'a pas de type de données. Par conséquent, il n'est pas valide.

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

Référez-vous au programme ci-dessous.

inclure

int CarMax(int x, int y);

int main(){

int p=10;

int q=20;

réponse entière;

réponse=calMax(p, q);

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

retour 0;

}

int calMax(int p, int q){

valeur entière;

if(p>q) {

valeur=p;

}

else {

valeur=q;

}

valeur de retour;

}

Selon ce qui précède, la deuxième instruction montre le prototype de la fonction. Il n'a pas la mise en œuvre. La mise en œuvre réelle est après le programme principal. Les prototypes de fonction sont plus utiles lors de la définition d'une fonction dans un fichier source et de l'appel de cette fonction dans une autre dans un autre fichier.

Qu'est-ce qu'une définition de fonction en C ?

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

inclure

float calArea(int x, int y);

int principal () {

int p=10;

int q=20;

zone flottante;

zone=calZone(p, q);

printf ("La valeur maximale est %f\n", zone);

retour 0;

}

float calArea (int x, int y) {

valeur flottante;

valeur=0,5xy;

valeur de retour;

}

Selon le programme ci-dessus, la deuxième instruction indique le prototype de la fonction. L'implémentation réelle de ce que la fonction exécute 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 variable. Ensuite, il revient 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 la 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 la fonction spécifie le nom de la fonction, le type de retour; les paramètres incluent un corps de fonction.
Implémentation
Le prototype de la 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 existe 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 aux fonctions en C. Ils fonctionnent par prototype et par 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 tandis que la définition de fonction contient l'implémentation réelle de la fonction.

Téléchargez le PDF de Function Prototype vs Function Definition 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

Conseillé: