La principale différence entre la déclaration et la définition en C est que la déclaration en C indique au compilateur le nom de la fonction, le type de retour et les paramètres, tandis que la définition en C contient l'implémentation réelle de la fonction. Autrement dit, la déclaration fournit des informations sur la fonction au compilateur, tandis que la définition contient les instructions réelles de la fonction pour effectuer une tâche spécifique.
C est un langage de programmation structuré à usage général. Il utilise des structures de contrôle telles que if/else, des répétitions telles que for loop, while loop et des fonctions. Une fonction est un ensemble d'instructions qui aide à effectuer une certaine tâche encore et encore. De plus, il est possible d'appeler les fonctions depuis la fonction principale. Après avoir exécuté la dernière instruction de la fonction, le contrôle revient à la fonction principale. Cet article traite de la déclaration et de la définition des fonctions en C et compare la différence entre elles. La définition de la fonction spécifie ce que fait la fonction et la déclaration spécifie ce qui va à la fonction; c'est un prototype.
Qu'est-ce qu'une déclaration en C ?
Declaration fournit des informations sur la fonction au compilateur. La syntaxe de la déclaration est la suivante.
return_ type function_name (liste de paramètres);
Supposons une fonction qui calcule la somme de deux entiers. La déclaration est la suivante.
int somme (int num1, int num2);
Le nom de la fonction est sum, et les paramètres sont deux entiers qui sont num1 et num2. Cette fonction retourne un entier. L'instruction complète se termine par un point-virgule.
Il n'est pas nécessaire d'inclure les noms des paramètres dans la déclaration. Par conséquent, il est également possible de ne mentionner que le type de données comme suit. Voici une déclaration valide.
int sum (int, int);
Qu'est-ce qu'une définition en C ?
Definition contient les instructions réelles de la fonction pour effectuer une tâche spécifique. La syntaxe est la suivante.
return_type function_name (liste de paramètres){
//instructions de fonction
}
Le nom de la fonction permet d'identifier la fonction. Lors de l'appel d'une fonction, les valeurs sont transmises à cette fonction. Ces valeurs sont copiées dans les paramètres. La liste de paramètres peut contenir un paramètre ou plusieurs paramètres. Et ces paramètres ont un type de données et un nom. De plus, il peut également y avoir des fonctions sans aucun paramètre.
Les instructions de la fonction sont à l'intérieur des accolades. C'est le corps de la fonction. Après avoir exécuté la fonction, elle renverra une valeur. Le type de retour dépend de la valeur de retour. Si la fonction renvoie un entier, le type de retour est int. Si la fonction renvoie un double, alors le type de retour est double etc.
Référez-vous au code ci-dessous avec la déclaration et la définition d'une fonction.
Figure 01: Programme pour calculer la somme de deux nombres
Selon le programme ci-dessus, la ligne 3 affiche la déclaration. Il indique au compilateur le nom de la fonction, les paramètres, etc. Dans la fonction principale, deux valeurs sont extraites du clavier et stockées dans les variables "a" et "b". À la ligne 12, ces valeurs sont transmises à la fonction appelée sum. Ce ‘a’ et ‘b’ sont des arguments.
À la ligne 16, la fonction somme s'exécute. Il copie la valeur a dans num1 et la valeur b dans num2. Cette fonction renvoie la somme et cette valeur stocke dans la variable 'ans' (ligne 12). Enfin, la réponse s'affiche à l'écran. En bref, la ligne 3 affiche la déclaration tandis que les lignes 16 à 18 affiche la définition.
Quelle est la différence entre déclaration et définition en C ?
Declaration est un prototype qui spécifie le nom de la fonction et la signature de type tels que les types de données, les types de retour et les paramètres, mais omet le corps de la fonction. La définition spécifie le nom de la fonction et les signatures de type telles que les types de données, les types de retour et les paramètres, et inclut le corps de la fonction. La déclaration indique au compilateur le nom de la fonction et comment l'appeler. D'autre part, la définition contient l'implémentation réelle de la fonction. Il décrit la tâche de la fonction.
Résumé – Déclaration vs Définition en C
La différence entre la déclaration et la définition en C est que la déclaration en C indique au compilateur le nom de la fonction, le type de retour et les paramètres tandis que la définition en C contient l'implémentation réelle de la fonction.