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 8<br />
I puntatori<br />
La memorizzazione di una variabile richiede un certo numero di byte. La variabile è collocata<br />
ad un particolare indirizzo di memoria.<br />
Un puntatore è un tipo di variabile che serve a memorizzare un indirizzo di memoria. E’<br />
possibile, <strong>per</strong> esempio, memorizzare l’indirizzo di un’altra variabile del programma.<br />
In Figura 8.1 è rappresentata la variabile i di dimensione 4 bytes, il cui indirizzo è pari a 100.<br />
Un puntatore che punta <strong>alla</strong> variabile i conterrà quindi il valore 100. La situazione è riassunta<br />
in Tabella 8.1. Si noti che l’indirizzo a cui è allocato il puntatore pt non è rilevante, in quanto<br />
potrebbe essere allocato indifferentemente in qualsiasi punto della memoria.<br />
I puntatori sono un tipo di dato elementare usato <strong>per</strong> accedere <strong>alla</strong> memoria e manipolare<br />
indirizzi. Una variabile di tipo puntatore <strong>per</strong>mette di memorizzare l’indirizzo di una variabile.<br />
La dichiarazione:<br />
int *pt;<br />
dichiara una nuova variabile pt di tipo puntatore, dove l’oggetto puntato è di tipo intero.<br />
L’o<strong>per</strong>atore unario & <strong>per</strong>mette di ottenere l’indirizzo di un oggetto (in genere una variabile)<br />
pt = &i;<br />
memoria<br />
100<br />
0x15 0x57<br />
indirizzo di inizio<br />
della variabile i<br />
101 102<br />
0xa2<br />
Figura 8.1: Una variabile in memoria.<br />
88<br />
103<br />
0x7e