18.08.2013 Views

Dalla A alla Z passando per C - Robotica

Dalla A alla Z passando per C - Robotica

Dalla A alla Z passando per C - Robotica

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Capitolo 7<br />

Tipi di dati<br />

In un linguaggio di programmazione, un tipo di dato è un nome che identifica l’insieme di<br />

valori che possono essere assunti da una variabile o da una espressione.<br />

Il C è un linguaggio cosiddetto tipizzato, ovvero richiede che sia esplicitamente associato<br />

un tipo a ciascun dato utilizzato nel programma. La tipizzazione <strong>per</strong>mette di effettuare delle<br />

verifiche sull’uso dei dati, in modo da controllare la coerenza dei tipi coinvolti e di segnalare<br />

in modo automatico al programmatore eventuali anomalie. Per esempio, non sarà possibile<br />

assegnare una stringa di testo ad una variabile in virgola mobile.<br />

Per questo motivo è necessario dichiarare il tipo delle variabili e altri dati, in modo da<br />

informare esplicitamente il compilatore sul tipo (appunto...) di variabile che si intende utilizzare.<br />

La dichiarazione del tipo di dato <strong>per</strong>mette anche al compilatore di gestire l’allocazione in<br />

memoria dello spazio necessario a memorizzare la variabile. Infatti a ciascun tipo di dato è<br />

associata una certa dimensione in byte. Quando una variabile viene dichiarata di un determinato<br />

tipo, il compilatore si preoccu<strong>per</strong>à di riservare la corrispondente quantità di memoria <strong>per</strong> la sua<br />

memorizzazione.<br />

I dati semplici sono numeri interi, in virgola mobile, o puntatori. Nel linguaggio originale<br />

non esiste il tipo boolean, che rappresenta un valore vero o falso, che invece è presente in modo<br />

“nativo” in vari altri linguaggi. Se un valore è zero viene considerato falso, se è diverso da zero<br />

viene considerato vero. D’altra parte, nell’ultima versione standardizzata del linguaggio C, il<br />

C99, è stato introdotto il tipo bool proprio <strong>per</strong> rappresentare i valori logici vero/falso.<br />

In questa sezione verranno descritti in dettagli i tipi di dati nativi disponibili nel linguaggio<br />

C.<br />

7.1 Tipi interi<br />

I tipi interi predefiniti del linguaggio sono riportati in Tabella 7.1.<br />

Gli interi signed hanno la possibilità di memorizzare dei numeri con segno, mentre gli interi<br />

unsigned indicano interi senza segno.Normalmente signed non si usa <strong>per</strong>ché è il comportamento<br />

predefinito.<br />

Dal momento che viene usato un bit <strong>per</strong> rappresentare il segno nel caso di interi signed,<br />

questo cambia l’intervallo nel quale possono variare i valori memorizzati. Per esempio, una<br />

variabile di tipo char può assumere valori nell’intervallo −128 . . .127, cioè da −2 7 a 2 7 − 1 (si<br />

noti l’esponente 7: il tipo char è a 8 bit, ma 1 viene usato <strong>per</strong> il segno) se è di tipo signed, ma se<br />

76

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!