En programmation C Quelle est la différence entre la déclaration et la définition d'une variable / fonction?


Réponse 1:

Une déclaration indique quelle est la variable / fonction. Une définition indique le fonctionnement de la variable / fonction. Avec C, vous devez soit déclarer soit définir une variable / fonction avant de l'utiliser. Si vous déclarez simplement la fonction, vous pouvez alors compiler le programme mais vous ne pouvez pas construire le programme tant qu'il n'est pas défini dans votre code ou dans une bibliothèque.


Réponse 2:

Une déclaration déclare que la chose (variable / fonction) existe QUELQUE PART, et fournit au moins certaines informations de type à ce sujet. La déclaration d'un tableau peut ne pas donner sa longueur. Une déclaration pour une fonction peut ne pas fournir de prototype pour définir les paramètres qu'elle prend. La déclaration d'un struct / union / enum peut ne pas définir ses membres.

La définition de ces choses indique non seulement que la chose existe, mais fournit tous les détails nécessaires là.


Réponse 3:

La question est "En programmation C Quelle est la différence entre la déclaration et la définition d'une variable / fonction?"

Une déclaration indique le nom et le type d'une variable (ou fonction.)

Une définition lui alloue du stockage.

Parfois, la même instruction fait les deux - comme les déclarations «statiques» de variables dans une portée de compilation ou des variables automatiques (ou statiques) à l'intérieur de la portée d'une fonction.

Parfois, un qualificatif «externe» sur un prototype de variable ou de fonction indiquera une déclaration, avec la définition donnée dans une autre étendue de compilation.


Réponse 4:

Déclaration: devrait être dans un fichier d'en-tête: dit que je vais créer une fonction qui retourne un certain type, a ce nom et prend ces arguments.

Définition: doit être dans un fichier source C: répète la définition de la fonction mais n'est pas suivie d'un point-virgule. Au lieu de cela, il est suivi d'une accolade ouverte {et entre cela et l'accolade de fermeture} sont les instructions de code source qui implémentent la fonction.


Réponse 5:

Déclaration: devrait être dans un fichier d'en-tête: dit que je vais créer une fonction qui retourne un certain type, a ce nom et prend ces arguments.

Définition: doit être dans un fichier source C: répète la définition de la fonction mais n'est pas suivie d'un point-virgule. Au lieu de cela, il est suivi d'une accolade ouverte {et entre cela et l'accolade de fermeture} sont les instructions de code source qui implémentent la fonction.


Réponse 6:

Déclaration: devrait être dans un fichier d'en-tête: dit que je vais créer une fonction qui retourne un certain type, a ce nom et prend ces arguments.

Définition: doit être dans un fichier source C: répète la définition de la fonction mais n'est pas suivie d'un point-virgule. Au lieu de cela, il est suivi d'une accolade ouverte {et entre cela et l'accolade de fermeture} sont les instructions de code source qui implémentent la fonction.