Différence entre déclaration et définition en C

le différence clé entre déclaration et 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 tâche donnée encore et encore. En outre, il est possible d’appeler les fonctions à partir de 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 fonction spécifie ce que fait la fonction et la déclaration spécifie ce qui va à la fonction; c'est un prototype.

CONTENU

1. Vue d'ensemble et différence clé
2. Quelle est la déclaration en C
3. Quelle est la définition en C
4. Comparaison côte à côte - Déclaration vs définition en C sous forme de tableau
5. Résumé

Quelle est la déclaration en C?

La déclaration fournit des informations sur la fonction au compilateur. La syntaxe de la déclaration est la suivante.

return_ type nom_fonction (liste de paramètres);

Supposons une fonction qui calcule la somme de deux entiers. La déclaration est la suivante.

int sum (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. La déclaration 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);

Quelle est la définition en C?

La définition contient les déclarations réelles de la fonction pour effectuer une tâche spécifique. La syntaxe est la suivante.

return_type nom_fonction (liste de paramètres)

// instructions de fonction

Le nom de la fonction aide à 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 un nombre de paramètres. Et ces paramètres ont un type de données et un nom. De plus, il peut y avoir des fonctions sans aucun paramètre aussi.

Les déclarations de la fonction sont à l'intérieur des accolades. C'est le corps de fonction. Après avoir exécuté la fonction, il retournera une valeur. Le type de retour dépend de la valeur de retour. Si la fonction retourne un entier, le type de retour est int. Si la fonction renvoie un double, 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 de calcul de 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 elles sont stockées dans les variables 'a' et 'b'. À la ligne 12, ces valeurs sont transmises à la fonction appelée somme. Ce 'a' et 'b' sont des arguments.

Sur la ligne 16, la fonction sum s'exécute. Il copie la valeur a dans num1 et la valeur b dans num2. Cette fonction renvoie la somme et cette valeur est stockée dans la variable 'ans' (ligne 12). Enfin, la réponse s'imprime à l'écran. En bref, la ligne 3 montre la déclaration alors que les lignes 16 à 18 affichent la définition.

Quelle est la différence entre déclaration et définition en C?

Déclaration 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. Définition spécifie le nom de la fonction et les signatures de types, telles que types de données, types de retour et 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, 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 déclaration et définition en C réside dans le fait 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..

Référence:

1.Tutoriels Point. "Fonctions C".  Tutoriels Point, 19 mars 2018. Disponible ici  
2. "Prototype de fonction." Wikipédia, Wikimedia Foundation, le 28 mai 2018. Disponible ici