Un puntatore è una variabile che contiene l'indirizzo di memoria di un'altra variabile. Ad esempio, supponiamo di avere una variabile chiamata puntatore, che facciamo puntare ad un'altra variabile chiamata puntata. Se la variabile puntata risiede in memoria all'indirizzo 100, la variabile puntatore avrà come valore proprio 100. In questo caso si crea una catena, come la seguente:
codice:
    ......
    |----|
+-->|9876|  <-- puntata  (indirizzo: 100)
|   |----|
|   |    |
|   ......
|   |----|
+---| 100|  <-- puntatore  (indirizzo: qualsiasi)
    |----|
   ......
In questo modo si può lavorare con la variabile puntata agendo sulla variabile puntatore. Questo meccanismo risulta utile quando si hanno delle liste di record: supponendo di avere, ad esempio, una funzione che analizza ciascun record di una lista per verificarne delle proprietà, è possibile richiamare la funzione, passandogli un puntatore al primo record. La funzione, poi, andrà automaticamente a controllare i successivi record, semplicemente facendo avanzare il puntatore di una unità.

Il discorso sui puntatori è molto lungo e non è sufficiente questa sede per discuterne... sicuramente sul libro verranno spiegati molto meglio!


Ciao.