Un oggetto array è un dato contenuto in una posizione specifica all’interno di un blocco di memoria contigua. Questi blocchi di memoria sono chiamati array e vengono utilizzati per raggruppare oggetti simili insieme per una facile organizzazione e accesso all’interno di un programma per computer. La posizione di un oggetto in un array è chiamata indice; nella maggior parte dei linguaggi informatici, 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 potrebbe avere spazio per cinque oggetti, ma avere solo oggetti posizionati agli indici 0, 2 e 3.
Tutti gli oggetti in un array devono essere dello stesso tipo, quindi se si dichiara che un array contiene stringhe, ogni oggetto array deve essere una stringa. Un oggetto array può essere di qualsiasi dimensione e contenere qualsiasi tipo di dati, purché il tipo di oggetto generale sia quello dichiarato dall’array. Un array di stringhe potrebbe contenere una stringa lunga 50 caratteri e l’indice successivo potrebbe essere lungo 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 che lo contiene è chiamato array multidimensionale. Esistono due tipi di oggetti array negli array multidimensionali: gli oggetti array che sono essi stessi array e gli oggetti che contengono gli 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 di wrapper che consentono a un programmatore di manipolarli indirettamente. Ancora altri linguaggi hanno costrutti speciali che obbligano un array a vedere tutti gli oggetti come lo stesso tipo, invalidando parzialmente la sua regola sulla specificità del tipo senza rompere i dati sottostanti. Indipendentemente dal modo in cui vengono implementati gli array, gli oggetti array stessi non vengono mai interessati se non per essere raggruppati e la capacità di raggruppare gli oggetti array è uno strumento importante nell’organizzazione dei dati.