Puntatore: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m err
Kormoran (discussione | contributi)
Nessun oggetto della modifica
Riga 1:
{{stub}}
 
Nei [[linguaggio di programmazione|linguaggi di programmazione]], il termine '''puntatore''' indica una variabile che contiene l'indirizzo di un'altra variabile, contenuta nella memoria del computer. L'uso di puntatori è necessario per costruire strutture dati complesse e dalla forma non prevedibile a priori (ed eventualmente variabile nel tempo), come [[grafo|grafi]], [[albero (informatica)|alberi]], [[lista (informatica)|liste]] ecc.: alcuni linguaggi non permettono l'uso dei puntatori, introducendo diversi meccanismi alternativi come tipi di dati albero e lista nativi, [[garbage collection]] e altri, al prezzo di una certa difficoltà quando si devono trattare strutture dati complesse che non rientrano in quelle previste.
 
Usare puntatori a variabili nei programmi, invece che semplicemente le variabili stesse, distoglie l'attenzione del programmatore dalla logica dell'algoritmo che sta implementando e lo costringe ad adottare la logica dell'hardware: questo spostamento di attenzione fra due livelli di ragionamento differenti, che viene ripetuto molte volte nel corso della scrittura di un programma, è una potenziale fonte di errori, alcuni molto difficili da scoprire. Questo è il motivo per cui molti linguaggi tentano di limitarne l'uso o addirittura di eliminarli completamente. D'altra parte, usare i puntatori offre il massimo di flessibilità e di efficienza possibile, e rinunciare ad essi significa pagare un prezzo pesante in termini di prestazioni.
 
 
 
== Vedi anche ==