Typedef è una di quelle funzioni del C che a prima vista appare insensata ma che nel corso della propria programmazione si rivela essere lo strumentino di cui non si fa più a meno.
Typedef è una particolare istruzione che permette di assegnare una nuova etichetta ad un tipo già esistente o ad uno creato mediante struttura o enumerazione. La sua versatilità ci permette di creare variabili del tipo definito, dichiarandole con la sintassi che si userebbe per i dati di tipo standard.
Immaginiamo, ad esempio, di voler rinominare il tipo di dati int con INTERO poichè siamo italiani e ci piace così e di voler creare una variabile di nome numero proprio di tipo int inizializzata al valore 5. Ciò è possibile semplicemente con il codice:
typedef int INTERO;
INTERO numero = 5;
L'utilizzo di tale istruzione è possibile anche con strutture o gruppi enumerativi.
Un esempio di codice può essere:
// definizione struttura
struct mia_struttura{ ... valori.... };
// definizione del nuovo tipo
typedef struct mia_struttura STRUTTURA;
// creazione nuova struttura
STRUTTURA new_struttura;
o
// definizione enumerazione
enum mio_enum { ... valori da definire ...};
// definizione del nuovo tipo
typedef enum mio_enum ENUMERAZIONE
// creazione nuova enumerazione
ENUMERAZIONE new_enum;
Questa istruzione non richiede particolari trattamenti poichè è abbastanza semplice da utilizzare e da comprendere. È da precisare che typedef può essere utilizzato anche nello stesso momento in cui si crea, ad esempio una nuova struttura o enumerazione.
Evidenzio, come sicuramente si sarà già notato, che le etichette attribuite mediante typedef sono scritte in maiuscolo. Questa non è una regola o un'esigenza del codice ma è una prassi tra i programmatori per permettere ai nuovi tipi di dati di essere subito distinguibili da quelli standard in modo da rendere il codice comprensibile.