Types de fichiers

Il y a deux types de fichiers dans un programme C :

Fichiers d'entête

Un exemple est donné par conversion.h.
Un fichier d'entête contient les déclarations des fonctions et variables qui doivent être utilisées à l'extérieur du fichier .c ou elles sont definies. Il peut également contenir des déclarations de types et des définitions de structures lorsque c'est nécessaire, ainsi que des directives pour définir des pseudo-constantes (#define).
Pour éviter les inclusions multiples, il est recommandé d'encadrer le contenu du fichier par une directive similaire à l'exemple suivant
#ifndef MON_FICHIER_H
#define MON_FICHIER_H
...
#endif

Fichiers source

Un exemple est donné par conversion.c.
Un fichier source peut être découpé avec les parties suivantes :
  1. Inclusion des fichiers d'entête standards, entre chevrons '<' et '>'. Exemple :
    #include <stdio.h>
  2. Inclusion des fichiers d'entêtes locaux, entre guillemets '"'. Exemple :
    #include "conversion.h"
  3. Déclaration des structures et types locaux au fichier.
  4. Déclaration des fonctions locales au fichier, préfixées par le mot clé static. Exemple :
    static int ma_fonction_locale(double x);
  5. Définition des variables externalisées. Attention, ce type de variable est à éviter car il nuit à l'encapsulation et donc rend plus difficile la maintenance. Exemple :
    double precision = 1e-10;
  6. Définition des variables communes à toutes les fonctions du fichier, préfixées du mot-clé static. Exemple ;
    static int fact_10 = 3628800;
    Si une variable ne doit pas être modifiée, il convient de la déclarer constante à l'aide du mot-clé const.
    const static int fact_10 = 3628800;
  7. Définition des fonctions externes et statiques.