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.
Tabella 8.1: Lo stato rappresentato in Figura 8.1..<br />
variabile indirizzo valore<br />
i 100 0x1557a27e<br />
pt non rilevante 100<br />
in pt è stato memorizzato l’indirizzo della variabile i.<br />
Analogamente l’o<strong>per</strong>atore unario * <strong>per</strong>mette di ottenere il valore contenuto in un particolare<br />
indirizzo di memoria<br />
i = *pt;<br />
Per ottenere il valore memorizzato devono essere fatti 2 accessi in memoria: il primo accesso<br />
viene fatto all’indirizzo di pt, <strong>per</strong> recu<strong>per</strong>are il dato ivi memorizzato, ovvero l’indirizzo di i . Il<br />
secondo accesso avviene all’indirizzo di i, <strong>per</strong> recu<strong>per</strong>are il valore memorizzato nella variabile i.<br />
8.1 Puntatori e vettori<br />
Per definizione, il valore costante di una variabile di tipo vettore è l’indirizzo dell’elemento<br />
di indice 0 del vettore stesso. Sempre <strong>per</strong> definizione, se p è un puntatore ad un particolare<br />
elemento di un vettore, p+1 punta all’elemento successivo, p+i punta all’elemento che segue dopo<br />
i posizioni.<br />
Nel seguente esempio:<br />
#include <br />
int main()<br />
{<br />
int vett[10];<br />
int *p;<br />
int i;<br />
}<br />
p = vett;<br />
for (i = 0; i < 10; i++)<br />
*(p + i) = 100 + i;<br />
for (i = 0; i < 10; i++)<br />
printf("%d ", vett[i]);<br />
printf("\n");<br />
return 0;<br />
viene dichiarato il vettore vett di 10 elementi interi, e il puntatore ad intero p. L’istruzione<br />
p = vett;<br />
89