Il casting nel linguaggio C

Cos'è il casting?

Il casting è la conversione di un tipo di dati in un altro. Mi permette di convertire i valori da un tipo a un altro in modo implicito o esplicito.

  • Casting implicito
    E' la conversione automatica del tipo di dato da parte del compilatore C. Si verifica quando le variabili (operandi) dell'espressione sono dello stesso tipo.
  • Casting esplicito
    In questo caso la conversione è definita dal programmatore che indica, in modo esplicito tra parentesi tonde, in quale formato dati deve essere il risultato nell'espressione.

    (formato) espressione

Questo operatore è detto operatore di cast.

    Un esempio pratico

    Esempio casting implicito

    Questo programma calcola la media aritmetica tra due variabili intere: a=17 e b=5.

    #include <stdio.h>
    main() {
    int a = 5, b = 4;
    float c;
    c = (a+b)/2;
    printf("La media è : %f", c );
    }

    Il risultato dell'espressione (a+b)/2 viene registrato nella variabile c.

    Malgrado la variabile c sia float (virgola mobile), il risultato è un numero intero perché è calcolato con il casting implicito tra due numeri interi.

    La media è 4.000000

    Il programma non è andato in errore durante l'esecuzione ma si è perso un'informazione significativa.

    Esempio casting esplicito

    Per avere il risultato dell'espressione in virgola mobile devo ricorrere al casting esplicito.

    Prima dell'espressione (a+b)/2 aggiungo l'operatore di cast (float).

    #include <stdio.h>
    main() {
    int a = 5, b = 4;
    float c;
    c = (float) (a+b)/2;
    printf("La media è : %f", c );
    }

    In pratica, con il casting esplicito sto dicendo al programma di calcolare il risultato dell'espressione in virgola mobile (float).

    Eseguo il programma e il risultato è

    La media è 4.500000

    Senza aver modificato il formato intero delle variabili operandi a e b, il risultato finale dell'espressione è un numero reale in virgola mobile.

    E così via.


     
    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    Libri di approfondimento

    Il linguaggio C

    1. Un esempio pratico
    2. Come compilare il programma

    Impariamo a programmare

    1. Come dichiarare le variabili
    2. Gli operatori
    3. La libreria stdio.h
    4. Come visualizzare in output testo e variabili
    5. Come usare le stringhe
    6. L'istruzione IF
    7. Le strutture cicliche
    8. Le funzioni
    9. Gli array