Quando i programmi superano certe dimensioni, può essere conveniente suddividere il sorgente in piú files; allo scopo, bisogna definire le variabili utilizzate dai vari moduli come extern. La soluzione migliore si rivela spesso la seguente: si scrive un header file contenente tutte le dichiarazioni per le variabili e le variabili condivise dai vari moduli. Poi, si include l'header in ciascuno dei moduli che ne fanno uso. Segue un esempio (abbastanza banale):
/* file mio_header.h */ extern int miavariabile; int mostra(void);
Segue il file contenente l'implementazione della funzione mostra()
1 #include<stdio.h>
2 #include "mio_header.h"
3 /* extern int miavariabile; */
4 int mostra()
5 {
6 printf("\t %d \n" , miavariabile);
7
8 }
In maniera tale da poterle utilizzare nella funzione main():
1 #include<stdio.h>
2 #include "mio_header.h"
3
4 int miavariabile;
5 /* int mostra(void); */
6 int main()
7
8 {
9 printf("\t Inserisci valore per la variabile: \n \t");
10 scanf("%d", &miavariabile);
11 printf("\t Hai inserito:");
12 mostra();
13
14 }/* main */