Dalla A alla Z passando per C - Robotica
Dalla A alla Z passando per C - Robotica
Dalla A alla Z passando per C - Robotica
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