Page 469 - Informatica dalla A a Z
P. 469
Le Funzioni: la dichiarazione di una funzione corrisponde alla definizione di un puntatore
alla funzione stessa. È possibile dichiarare dei puntatori a un tipo di funzione definito in
base al valore restituito e ai tipi di parametri richiesti:
tipo (*nome_puntatore)(tipo_parametro[,...]);
Una volta assegnato il puntatore, si può eseguire una chiamata di funzione semplicemente
utilizzando il puntatore.
Anche nel linguaggio C, come in molti altri linguaggi, è possibile definire nuovi tipi di dati
(aggiuntivi), derivati dai tipi primitivi, proprio come abbiamo fatto per gli array, ma con tipi
“diversi”. Questo nuovo tipo di variabile però, rappresenta tutta la zona di memoria occu-
pata dalla struttura stessa e non solo il riferimento al suo inizio, come accade per i tipi di
dati primitivi.
Nota: Gli array sono solo dei puntatori, esattamente come accade per i tipi di dati primitivi.
La dichiarazione di un “nuovo tipo di dati” si articola in due fasi: la dichiarazione del tipo e
la dichiarazione delle variabili che si utilizzeranno.
Consiglio: Sarebbe opportuno stabilire una convenzione da usare nell’attribuirne il nome,
come ad esempio, utilizzare l’iniziale maiuscola.
struct Data
{
int iGiorno;
int iMese;
int iAnno;
};
In questo esempio la struttura “Data” è composta da tre interi dedicati a contenere il
giorno, il mese e l’anno.
La struttura può anche essere seguita da alcune variabili che utilizzano quel tipo:
struct Data
{
int iGiorno;
int iMese;
int iAnno;
} DataInizio, DataFine;
anche se sarebbe più conveniente dichiarare le variabili in questo modo:
struct Data DataInizio, DataFine;
465