Skip to main content

Cos'è una serie di suggerimenti?

Un array di puntatori è un tipo di dati di array standard che contiene una sequenza di memoria indirizzata ai tipi di dati invece di contenere altri tipi scalari come numeri interi o numeri di punta mobile.Utilizzando una serie di puntatori, un programma è in grado di avere una serie di quasi tutti i tipi di dati, struttura dei dati, classe o persino funzione.È possibile anche un efficiente ordinamento di una serie di puntatori in modo che, se lo si desidera, gli indirizzi possano essere allineati in base alla loro posizione fisica nella memoria del computer.Alcune delle complicazioni nell'uso di una serie di puntatori sono che i dati possono essere facilmente corrotti e che il tipo di dati che viene indicato deve essere gestito internamente per prevenire i problemi di overflow della memoria.

Non tutti i linguaggi di programmazione consentono una serie di puntatori comeIl concetto era originariamente concepito.I linguaggi di alto livello che automatizzano la gestione della memoria non utilizzano i puntatori allo stesso modo dei linguaggi di livello inferiore, sebbene tecnicamente una serie di oggetti di classe a un linguaggio di alto livello, orientato agli oggetti, è una serie di puntatori;Anche così, non possono essere usati o manipolati allo stesso modo.In un linguaggio di basso livello, l'array avrà effettivamente un valore intero che è l'indirizzo diretto del puntatore nel mucchio di memoria.Nella maggior parte dei linguaggi di alto livello, questa funzionalità non è possibile, sebbene esistano paradigmi alternativi.

Uno degli aspetti che rende preziosa una serie di puntatori come strumento di programmazione è che i puntatori possono fare riferimento a qualsiasi tipo di dati disponibile.Il puntatore è un tipo di dati in sé, anche se il suo unico scopo è quello di indicare un altro tipo di dati.Ciò significa che una serie di puntatori può effettivamente contenere una varietà di tipi di dati nello stesso array, sebbene il programma dovrebbe avere un meccanismo per tenere traccia di ciò che ogni puntatore stava facendo riferimento.

Un aspetto potente dei puntatori è che in realtà può effettivamenteIndicare il codice del programma compilato in memoria.Ciò consente a un array di indicare le funzioni, non solo i dati.Una serie di funzioni può consentire un riferimento numerico dinamico del codice.Ciò può essere utile durante la programmazione di un interprete del linguaggio o di un altro tipo di software che deve chiamare determinate funzioni in base a input imprevedibili senza la necessità di grandi dichiarazioni condizionali come gli switch blocks.

Alcuni problemi presentati da una serie di dati di puntadi perdere l'indirizzo, impedendo a tale memoria di essere liberata in seguito e la possibilità che un indirizzo possa essere corrotta attraverso un'operazione involontaria come l'aggiunta.I tentativi di accedere a un indirizzo errato potrebbero portare a leggere dati corrotti o, in casi estremi come un'inizializzazione non riuscita, un errore di segmentazione che potrebbe far terminare in modo imprevisto il programma.La programmazione cauta può aiutare a mitigare la possibilità di questi eventi.