Vidéo: Créer en tête différent dans le même document word 2024
Au fur et à mesure que les projets multi-modules de C deviennent plus complexes, la première partie de chaque fichier de code source s'allonge: plus de prototypes, plus de constantes et plus de variables et structures globales sont requis pour chaque module. Plutôt que de surcharger votre code de redondances, vous pouvez créer un fichier d'en-tête pour le projet.
Un fichier d'en-tête contient à peu près tout ce que vous pouvez mettre dans un fichier de code source. Plus précisément, vous devriez mettre des éléments dans le fichier d'en-tête qui seraient autrement dans chaque module de code source. Voici un exemple de fichier d'en-tête:
FICHIER D'EN-TÊTE EX2403. H
#include #include / * prototypes * / void fillstructure (void); structure d'impression de vide (vide); / * constantes * / / * variables * / struct chose {char name [32]; int age;}; typedef struct chose humaine;
Le fichier d'en-tête affiché dans le fichier d'en-tête ex2403. h commence avec quelques directives include, ce qui est bien; Tant que ces fichiers d'en-tête sont requis par chaque module du programme, vous pouvez les spécifier dans votre propre fichier d'en-tête. Certains programmeurs choisissent de le faire; D'autres ne le font pas.
Deux prototypes sont spécifiés aux lignes 6 et 7. Une fois de plus, l'une des raisons pour lesquelles un fichier d'en-tête est de prototyper, en particulier sur plusieurs modules.
Le fichier d'en-tête ex2403. h manque de constantes, mais placer ces éléments dans un fichier d'en-tête est assez commun. Il y a un commentaire à la ligne 9 au cas où le programme développerait des constantes plus tard.
Enfin, la structure est définie à la ligne 13. Puis la ligne 18 utilise typedef pour que le mot humain (au lieu de struct chose) puisse être utilisé dans le code.
D'autres éléments populaires à inclure dans un fichier d'en-tête sont des macros. Ce sont des directives de préprocesseur qui peuvent également aider à simplifier votre code.
Pour utiliser un fichier d'en-tête local dans votre code, spécifiez-le sur une ligne, comme n'importe quel autre fichier d'en-tête. La grande différence est que les guillemets doubles sont utilisés à la place des chevrons. Par exemple:
#include "ex2403. H"
Le compilateur recherche le nom de fichier d'en-tête entre guillemets dans le répertoire courant, avec le (s) fichier (s) de code source. Si le fichier ne se trouve pas dans ce répertoire, vous devez spécifier un chemin, comme dans
#include "headers / ex2403.h"
Project ex2403 main. c Le code source montre comment le fichier d'en-tête se trouve dans le fichier d'en-tête ex2403. h est utilisé.
PROJET EX2403 PRINCIPAL. C CODE SOURCE
#include "ex2403. H" personne humaine; int main () {fillstructure (); structure d'impression (); return 0;} void fillstructure (void) {printf ("Entrez votre nom:"); fgets (nom de personne, 31, stdin); printf ("Entrez votre âge:"); scanf ("% d", & personne.age);} void printstructure (void) {printf ("Vous êtes% sn", nom de personne); printf ("Et vous avez% d ans.n", personne. age);}
Ligne 1 du code source affiché dans le projet ex2403 principal. c Le code source inclut le fichier d'en-tête personnalisé, ex2403. h. Le typedef humain est alors utilisé à la ligne 3. C'est tout! Aucune autre déclaration n'est nécessaire dans le code source, car elles ont été traitées par l'en-tête personnalisé.
Exercice 1 : Créez un nouveau projet dans Code:: Blocks. Créez un nouveau fichier d'en-tête, ex2403. h, pour le projet, et copiez le code à partir du fichier d'en-tête ex2403. h dans ce fichier. Copiez le code source du projet ex2403 principal. c Code source dans le principal. Fichier c. Construire et courir.
Exercice 2 : Séparez les fonctions fillstructure () et printstructure () du projet ex2403 main. c Code Source pour que chacun apparaisse dans son propre fichier de code source, entrée. c et sortie. c, respectivement. Construire le programme multi-module.