Array

Array ( vettore)
Definizione. Un array è una variabile strutturata
Un array può essere definito come una “collezione organizzata di oggetti”. Analizziamo la
definizione e capiremo molte cose, innanzitutto il concetto di “collezione” implica che tali
oggetti siano dello stesso tipo, così, prendendo spunto dal mondo reale, potremmo
definire un array di mele, che, quindi non può contenere nessun “oggetto pera”; un array
in C è una collezione di variabili dello stesso tipo.
“Organizzata” implica che sia possibile identificare univocamente tutti gli oggetti
dell’array in modo sistematico; questo in C viene fatto tramite l’uso di indici numerici
che, in un array di dimensione N, vanno da 0 ad N-1.
Riprendendo l’esempio della rubrica del cellulare, usato per spiegare le variabili nella
lezione 11, si può pensare a quando creiamo un “gruppo suonerie”, ad esempio di
nome “amici scuola”; tale gruppo può contenere a tutti gli effetti un certo numero di
nomi/numeri dei nostri compagni di classe, ecco questo “gruppo” è un array, perchè
formato da oggetti dello stesso tipo (nomi/numeri) ed indentificato da un nome (amici
scuola) che li accomuna.
Ma vediamo nel dettaglio come è possibile dichiarare un array:
int myarray[10];
Come si può notare un array viene dichiarato mettendo il nome della variabile
(myarray), e ,tra parentesi quadre, la cifra che identifica il numero di elementi dello
stesso tipo (int) e quindi la dimensione dell’array.
Nell’esempio, ognuno dei dieci interi viene chiamato elemento dell’array e dieci è la
dimensione dell’array. In C, come già detto, ogni elemento viene identificato da un
numero, contando da 0 (invece che da 1) ed arrivando ad N (la dimensione, nel nostro
esempio uguale a 10) – 1 (quindi arriviamo a 9); per far comprendere meglio il concetto
abbiamo creato la seguente immagine che ci riporta ad un paragone con il mondo
reale;
myarray[3]=’w’;
In questa immagine l’array viene paragonato ad un palazzo. Pensateci bene, quando
diciamo che un palazzo ha 5 piani, in realtà ha sei livelli; cioè il piano terra è il primo
livello, il primo piano il secondo, e così via; analogamente succede nell’array, se
abbiamo un array di dimensione 6, i suoi indici andranno da 0 a 5 e un elemento
richiamato, ad esempio, tramite l’indice 3, è il quarto elemento, questo perché si inizia a
contare da 0.
L’analogia assume maggiore importanza, anche per far capire che le variabili dell’array
sono dello stesso tipo, così come un array di int può contenere solo int (e non char o
float), un palazzo che contiene uffici, in questo esempio, può contenere solo uffici (e
non abitazioni).