Ominide 4157 punti

I tipi di dati


Il C è un linguaggio tipizzato, quindi richiede che ad ogni dato venga associato un tipo. Questo aiuta il compilatore a capire come interpretare il contenuto della locazione in memoria e permette di verificare la coerenza tra l’uso di dati. C e considerato debolmente tipizzato, perche presenta meccanismi impliciti ed espliciti per trattare in modo flessibile le regole di conversione tra tipi di dati.
Nello standard ISO C89 ci sono un numero ristretto di specificatori e modificatori di tipo, che possono essere combinati tra loro per definire altri tipi di dati.
Specificatori:
- void: dato indefinito;
- char: rappresenta i caratteri, chiamato anche costante di tipo numerico;
- int: numeri interi;
- float: numeri in virgola mobile con precisione singola;
- double: numeri con virgola mobile con precisione doppia;
Modificatori, modificano il range di valori ammissibili:
- short: riduce il numero di valori memorizzabili;
- long: aumenta il numero di valori memorizzabili;
- signed: il dato ha il segno;
- unsigned: il dato non ha il segno;
Specifica tori e modificatori possono essere posizionati in qualsiasi ordine e le possibili combinazioni sono:
- void
- char
- signed char
- unsigned char
- signed short int = short = signed short = short int
- unsigned short int = unsigned short
- signed int = int = signed
- unsigned int = unsigned
- signed long int = long = signed long = long int
- unsigned long int = unsigned long
- float
- double
- long double
Si possono dichiarare tipi senza identificatore ma sono inutili, poichè non riutilizzabili, mentre il tipo void non può essere assegnato a nessun identificativo. Il calcolatore ha una memoria finita perciò per ogni tipo e possibile rappresentare solo un numero ristretto di valori possibili. La memoria di un calcolatore può essere considerata come una sequenza finita di celle, in cui ognuna può memorizzare un bit (Binary digIT) che può assumere valori 0 e 1. I bit sono raggruppati in byte (=8 bit) che è la più piccola quantità di memoria direttamente indirizzabile. Il numero di valori rappresentabili per ogni tipo dipende dal numero di byte associati e quindi dipende dall’hardware.
In C non c’è una netta distinzione tra tipo carattere e tipo intero. Il carattere infatti è considerato un intero piccolo, e la conversione tra intero e carattere dipende dal set di caratteri disponibile sulla macchina, di solito lo standard ASCII (American Standard Code for Information Interchange).
Hai bisogno di aiuto in Informatica?
Trova il tuo insegnante su Skuola.net | Ripetizioni
Registrati via email