C/Compilatore e precompilatore/Header: differenze tra le versioni

Wikibooks, manuali e libri di testo liberi.
Contenuto cancellato Contenuto aggiunto
m ha spostato C/Header a C/Compilatore e precompilatore/Header: sottopagina più adatta
cambio avanzamento a 75%
Riga 1: Riga 1:
{{C}}
{{C}}

{{Avanzamento|100%}}
{{IndexItem|File di header}}
{{IndexItem|File di header}}


Riga 6: Riga 6:


<source lang="c">
<source lang="c">
/* file mio_header.h */
// file mio_header.h
extern int miavariabile;
extern int miavariabile;
int mostra(void);
int mostra(void);
Riga 28: Riga 28:
int miavariabile;
int miavariabile;
int main()
int main(void)
{
{
printf("\t Inserisci valore per la variabile: \n \t");
printf("\t Inserisci valore per la variabile: \n \t");
scanf("%d", &miavariabile);
scanf("%d", &miavariabile);
printf("\t Hai inserito:");
printf("\t Hai inserito:");
mostra();
mostra();
}
}/* main */
</source>
</source>


Riga 40: Riga 40:


[[Categoria:C|Header]]
[[Categoria:C|Header]]
{{Avanzamento|75%|8 gennaio 2010}}

Versione delle 12:34, 8 gen 2010

Indice del libro

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()

  #include<stdio.h>
  #include "mio_header.h"
  int mostra()
  {
    printf("\t %d \n" , miavariabile);
    
  }

In maniera tale da poterle utilizzare nella funzione main():

  #include<stdio.h>
  #include "mio_header.h"
  int miavariabile;
  
  int main(void)
  {
      printf("\t Inserisci valore per la variabile: \n \t");
      scanf("%d", &miavariabile);
      printf("\t Hai inserito:");
      mostra();
  }