Il casting è la conversione di un tipo di dati in un altro.
Permette di convertire i valori da un tipo a un altro in modo implicito o esplicito.
Parliamo di casting implicito quando la conversione automatica del tipo di dato è effettuata da parte del compilatore C. Si verifica quando le variabili (operandi) dell’espressione sono dello stesso tipo.
Parliamo invece di casting esplicito quando la conversione è definita dal programmatore che indica, in modo esplicito tra parentesi tonde, in quale formato dati deve essere il risultato nell’espressione.
Esistono vari tipi di conversione esplicita:
–controllata: prima dell’esecuzione della conversione a runtime, viene eseguito un controllo sulla validità della stessa. Se la conversione è illegale, viene sollevato un errore.
–non controllata: non viene effettuato alcun controllo. Se il tipo di destinazione non può contenere il valore convertito, il risultato è indefinito.
–bit pattern: il dato non viene affatto interpretato, ma viene semplicemente copiata la sua rappresentazione binaria.
Ogni linguaggio di programmazione ha le proprie regole per le conversioni di tipo ma, in generale, essa è ammessa per oggetti e tipi fondamentali.