Programmazione  »  Guide  »  Guida C 

Cosa sono gli Array



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 oggeti 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;

un palazzo i cui piani sono associati agli elementi di un array

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).

Torniamo al linguaggio C, e vediamo come è possibile dichiarare array di float o di char:

float float_array[12];
char char_array[7];


Una volta dichiarato un array è possibile assegnare il valore alla posizione corrispondente, richiamandola tramite l'indice, ad esempio se volessi inserire il valore 87.43 nell'array di float alla quinta posizione, basta scrivere:

float_array[4] = 87.43


Mentre se volessi utilizzare il valore contenuto nella terza posizione dell'array e memorizzarlo in un'altra variabile, dovrei fare:

float myvar = float_array[2];


Ultimi articoli Programmazione

Windows 8 Store, un posto in prima fila

La pre-certificazione che permetterà di avere le nostre applicazioni...

La concorrenza con C++11, async e la libreria Threading

La libreria Threading e i principali costrutti per sfruttare il...

Visual Studio 11 beta, le novità

Le caratteristiche più interessanti introdotte nella beta di Visual...

Windows 8, WinRT API e applicazioni Metro Style

Come creare una semplicissima interazione in stile Metro con C++...

C++11, la libreria standard

Le funzioni sugli insiemi e i contenitori mutuati dalle estensioni...

Altri articoli

Guide Programmazione

Azure, una nuvola tanti linguaggi

Entrare con semplicità ed efficacia nel mondo di Windows Azure e...

Guida Antipattern

Come evitare le cattive abitudini, le worst practices e le trappole...

RESTful Web Services - La Guida

Dai principi ispiratori del Web programmabile e delle architetture...

Altre guide

Newsletter @Programmazione

Ogni settimana, direttamente nella tua e-mail: articoli, script e guide su Java, Visual Basic, VB.Net ed i più diffusi linguaggi di programmazione.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Amministratore di Reti Windows Server 2008

11 Giugno 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto