Il problema con rappresentare le Data Structures che non sono lineari. Abbiamo bisogno di un certo senso tracciare queste Data Structures alla memoria lineare del calcolatore. Una soluzione a questa, è usare gli Pointers. Gli Pointers sono le posizioni di memoria che sono memorizzate nelle cellule di memoria. Usando un indicatore, dalla tenuta un indirizzo di memoria piuttosto che i dati una cellula di memoria può indicare ad un'altra cellula di memoria.
La cellula di memoria all'indirizzo 2003 contiene un indicatore l'indirizzo di un'altra cellula, che può essere visto nella la suddetta figura. Qui l'indicatore sta indicando alla cellula di memoria 2005 che contiene la lettera C. Ciò significa quella, noi ha due sensi di accesso a della lettera C. Possiamo riferirci alla cellula di memoria che contiene direttamente il valore C o possiamo usare l'indicatore per riferirci indirettamente. Il processo di accesso a dei dati attraverso gli Pointers è conosciuto come indirection. Usando gli Pointers, possiamo anche generare i livelli di indirection multipli.
Gli Pointers possono diventare molto complessi e difficili da usare avendo molti livelli di indirection. Una volta usato Pointers in modo errato, può rendere le Data Structures molto difficili capire. L'alternanza fra complessità e flessibilità dovrebbe essere considera ogni volta che usate gli Pointers nella costruzione delle Data Structures.
L'idea degli Pointers e del indirection non è esclusiva alla memoria di calcolatore. Gli Pointers compaiono in molte funzioni differenti di uso del calcolatore. I Hyperlinks nei Web pagi è Pointers buoni di esempio. Ciò si collega è realmente gli Pointers all'altro Web page. Forse persino avete avvertito il doppio indirection quando siete andato visitare il Web site esperto e trovare il luogo si era mossa. Avete visto un avviso che i Web pagi erano stati spostati e un collegamento verso il nuovo luogo, anziché la pagina che avete previsto.
|