A recipe of: c basics (Gli array – implementazione e esempi)

Gli array

 

array

 

In questo tutorial andremo a conoscere gli array.

 

Ingredienti:

 

Che cos’e’ un array?

Possiamo vedere un’array come un’insieme di elementi dello stesso tipo dove ogni elemento e’ collegato a una locazione ben precisa.

Possiamo per esempio avere un insieme di 10 interi disposti nel seguente ordine { 0,1,2,3,4,5,6,7,8,9 } se volessimo rappresentarlo nel linguaggio c andremo a scrivere int numeri[10] = { 0,1,2,3,4,5,6,7,8,9 }.

Dove il numero 10 sta a indicare la grandezza degli array, mentre dentro le graffe abbiamo i vari elementi dell’array separati da una virgola.

Nel caso volessi recuperare il numero 0 dell’array mi basterebbe indicarne nell’indice la posizione ora, abbiamo messo lo 0 nella prima posizione del nostro array, quindi nel caso volessi andarlo a recuperare, mi basterebbe usare “numeri[0]”, ricordatevi che si inizia a contare sempre dallo 0 e non dall’1.

 

Implementiamo e stampiamo un’array

Avendo piu’ o meno capito cosa e’ un’array, ora proviamo a implementarlo, assegnargli degli elementi e andarlo a stampare sulla nostra console.

Come esempio vi propongo un codice base:
#include ;

int main()
{
int numeri[10] = {0,1,2,3,4,5,6,7,8,9};

for(int i=0; i<10;i++)
printf("%d",numeri[i]);

return 0;
}

In questo esempio, sfruttiamo un for per sfogliare e visitare tutto l'array in modo da andare a stampare tutti i suoi elementi interni.

 

Implementazione dinamica di un'array

Ora, stare ogni volta a scrivere ogni elemento interno dell'array, puo' diventare un'attivita' dispendiosa, sopratutto quando si va a lavorare con array di grandi dimensioni.

Per risolvere questo problema, possiamo inserire dinamicamente i valori all'interno del nostro array, ad esempio, nel nostro caso, dove abbiamo int numeri[10] = {0,1,2,3,4,5,6,7,8,9}, l'implementazione potrebbe avvenire in questo modo:

#include <stdio.h>

int main()
{
int numeri[10];

for(int i=0; i<10;i++){
numeri[i] = i;
printf("%d",numeri[i]);
}
return 0;
}

Andiamo a implementare i valori del nostro array direttamente nel nostro for sapendo che la funzione che collega i valori degli array agli indici e' f(x) = x dove f(x) rappresenta il valore interno, mentre la x rappresenta l'indice.

Ad esempio, volessimo cambiare e andare invece a salvare dentro il nostro array la tabellina del 2, avremo un f(x) = 2x, e quindi riscriveremo il codice semplicemente cosi:

#include <stdio.h>

int main()
{
int numeri[10];

for(int i=0; i<10;i++){
numeri[i] = 2*i;
printf("%d",numeri[i]);
}
return 0;
}

Ogni qual volta i valori interni al nostro array sono collegati in qualche modo (modo che e’ possibile riscrivere matematicamente), e’ bene utilizzare l implementazione dinamica, magari andando con un commento a dire cosa si sta andando a salvare per maggiore chiarezza.

 

 

Saluti dal vostro nabbo Developer

Marco Tamagno

Facebook

Google+

Rispondi