TRASLOCO
Sempre mosso dalla voglia di allontanarmi da Google e dai suoi servizi, ho finalmente deciso che dopo diversi anni la piattaforma di questo piccolo spazio andava cambiata. Finalmente il blo cambia casa. Se volete trovarmi potete recarvi al nuovo indirizzo

lunedì 22 febbraio 2010

Didattica C: typedef


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.