Che cos'è un oggetto array?
Un oggetto array è un pezzo di dati contenuto in un posto specifico all'interno di un blocco di memoria contigua. Questi blocchi di memoria sono chiamati array e vengono utilizzati per raggruppare oggetti simili per facilitare l'organizzazione e l'accesso all'interno di un programma per computer. La posizione di un oggetto in un array si chiama indice; nella maggior parte dei linguaggi per computer, l'indice del primo oggetto inizia da 0, anziché da 1. Non è necessario che un oggetto sia presente in ogni indice di un array. Ad esempio, un array può avere spazio per cinque oggetti, ma solo oggetti posizionati negli indici 0, 2 e 3.
Tutti gli oggetti in un array devono essere dello stesso tipo, quindi se un array viene dichiarato contenere stringhe, ogni oggetto array deve essere una stringa. Un oggetto array può avere qualsiasi dimensione e contenere qualsiasi tipo di dati, purché il tipo di oggetto generale sia quello dichiarato dall'array. Un array di stringhe può contenere una stringa di 50 caratteri e l'indice successivo può contenere 50.000 caratteri; solo i loro tipi contano. Gli oggetti array possono essere tipi semplici, come un numero o una stringa, o qualsiasi tipo di oggetto complesso.
In determinate circostanze, un oggetto array può essere un array completamente nuovo. Quando un array contiene un oggetto che è esso stesso un array, l'array contenente viene chiamato array multidimensionale. Esistono due tipi di oggetti array in array multidimensionali: gli oggetti array che sono essi stessi array e gli oggetti contenuti in tali array secondari. Tutte le regole di tipo precedenti si applicano agli array multidimensionali, quindi se un oggetto array è anche un array, anche tutti gli altri oggetti devono essere array. Questa nidificazione di array può essere eseguita tutte le volte che è necessario, creando griglie bidimensionali, cubi tridimensionali o cluster di dati di livello superiore.
Gli array e il tipo di oggetto array consentito al loro interno differiscono in qualche modo tra i linguaggi di programmazione. Alcuni linguaggi consentono il controllo completo sugli array e sui loro oggetti, consentendo a un programmatore di crearli a piacimento. Altri nascondono gli array e gli oggetti all'interno dei wrapper che consentono a un programmatore di manipolarli indirettamente. Ancora altri linguaggi hanno costrutti speciali che costringono un array a vedere tutti gli oggetti dello stesso tipo, invalidando parzialmente la sua regola sulla specificità del tipo senza rompere i dati sottostanti. Indipendentemente dalla modalità di implementazione degli array, gli oggetti array stessi non vengono mai influenzati se non per essere raggruppati e la capacità di raggruppare gli oggetti array è uno strumento importante nell'organizzazione dei dati.