Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Informatica - Cosa sono gli array, Dispense di Informatica

Cosa sono gli array: definizione, come si dichiara un array, uso pratico con relativi esempi; Gli array e i cicli for: inizializzare l'array, array di caratteri, array multidimensionali e relativi esempi.

Tipologia: Dispense

2021/2022

Caricato il 18/05/2023

ggiulia3
ggiulia3 🇮🇹

4.3

(6)

26 documenti

1 / 6

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
LEZIONE 4
COSA SONO GLI ARRAY
Anche in C, come in altri linguaggi di programmazione, vengono
utilizzati gli array, ovvero insieme di elementi simili. Ecco una
definizione più precisa di array in C e una breve guida al loro
uso pratico.
Definizione degli array in C
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, 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.
Come si dichiara un array
Ma vediamo nel dettaglio come è possibile dichiarare un array:
int myarray[10];
pf3
pf4
pf5

Anteprima parziale del testo

Scarica Informatica - Cosa sono gli array e più Dispense in PDF di Informatica solo su Docsity!

LEZIONE 4

COSA SONO GLI ARRAY

Anche in C , come in altri linguaggi di programmazione, vengono utilizzati gli array, ovvero insieme di elementi simili. Ecco una definizione più precisa di array in C e una breve guida al loro uso pratico.

Definizione degli array in C 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, 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.

Come si dichiara un array 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;

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

Per fare un esempio, assumiamo di avere un array di int di 100 elementi e di voler stampare a video il contenuto di tutte le posizioni dell’array; vista la particolare natura dell’array non inizieremo a contare da 1, ma da 0, fino ad arrivare a novantanove (quindi cento elementi effettivi). Utilizzeremo il comando di stampa sull’array con l’indice, incrementato ogni volta, preso dal ciclo for.

In codice:

int int_array[100];

int i;

for (i=0; i<100; i++)

{ printf (“%d”, int_array[i]); }

For in C e gli array

In questo caso la variabile di controllo “i” del ciclo for viene usata come indice per l’array; da far notare che, a livello visivo, si capisce subito che si cicla di cento elementi, perché la condizione posta è quella di avere “i<100”, iniziando a contare da zero, quindi, si esegue il ciclo fino al novantanovesimo elemento, che è minore di cento; alla successiva iterazione, prima di eseguire il corpo del ciclo, “i” viene incrementata di uno e quindi vale cento, valore che non verifica più la condizione ( non è minore di 100, semmai è uguale) e che fa terminare il ciclo for; l’intervallo contato (da 0 a 99) è utile per rappresentare tutti e cento gli elementi dell’array, visto che, come spiegato prima, in un array si contano gli elementi partendo dallo zero.

In questo modo potrebbe essere abbastanza semplice anche inizializzare tutti i valori dell’array; supponiamo di voler dare ad ogni elemento dell’array il valore uguale alla sua posizione, con la seguente soluzione si risparmia un sacco di codice:

int int_array[100];

int i;

for (i=0; i<100; i++)

{ int_array[i] = i; }

Inizializzare l’array

Naturalmente un array può essere inizializzato anche passando direttamente i valori, ad esempio, come in questo esempio:

int numeri[] = { 7, 23, 4, 94, 120 };

in cui si crea un array di 5 elementi, ed è per questo che tra parentesi quadre non si mette la dimensione, in quanto ricavata dal numero di elementi compresi tra le parentesi graffe.

Array di caratteri

Prendiamo come altro esempio gli array di caratteri, che hanno una particolarità, possono essere inizializzati, senza essere divisi da virgole; ora proponiamo due forme equivalenti di inizializzazione, di cui la prima sicuramente più pratica:

char caratteri[] = “Hello World!”;

char caratteri[] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ‘ ‘, ‘W’, ‘o’, ‘r’, ‘l’, ‘d’, ‘!’ };

Array Multidimensionali

Ovviamente, nel linguaggio C , la potenza degli array risiede anche nel fatto che si possono usare degli array multidimensionali. Come? in pratica ogni elemento contenuto da un array è a sua volta un array; in questo modo si possono rappresentare facilmente tabelle e matrici, o qualunque altra cosa che richieda un rappresentazione anche superiore, si pensi a programmi di grafica tridimensionale, dove un array cubico può essere usato per disegnare i punti all’interno dello spazio tridimensionale creato,