01 Array e Stringhe - 1parte
01 Array e Stringhe - 1parte
ARRAY E STRINGHE
ARRAY
CONCETTO DI ARRAY 3
Un array è una struttura dati complessa la cui nozione è inspirata
ai concetti matematici di vettore (array monodimensionale) e
matrice (array multidimensionale).
ARRAY
ORGANIZZAZIONE DI UN ARRAY[2] 4
int v[10];
ARRAY
ALLOCAZIONE DI MEMORIA 6
Il campo dimensione all’interno della dichiarazione deve essere
un valore costante.
ARRAY
INIZIALIZZAZIONE DI UN ARRAY 7
Un array può essere inizializzato in due modi:
esplicitamente durante la creazione dell’array;
durante l’esecuzione del programma, assegnando o copiando
dati nell’array.
ARRAY
ACCESSO AGLI ELEMENTI DELL'ARRAY 8
Consideriamo l’array di interi ‘pari’ inizializzato alla slide
precedente:
pari 2 4 6 8
pari[0] . . pari[3]
Supponiamo di voler memorizzare l’intero 22 al posto del terzo
elemento dell’array, l’assegnazione da effettuare sarà:
pari[2] = 22;
Per copiare un elemento di un array in una variabile (dello stesso
tipo), l’assegnazione sarà:
int p = pari[1];
ARRAY
INIZIALIZZAZIONE DOPO LA CREAZIONE 9
Per inizializzare un array durante l’esecuzione di un programma si
deve accedere ad ogni elemento dell’array e assegnargli un
valore.
ARRAY
ESECUZIONE 10
Vediamo ad ogni iterazione l’assegnazione che viene effettuata:
ARRAY
ACCESSO «OUT OF BOUND» 11
ARRAY
ESEMPIO DI «BUFFER OVERFLOW» 12
ARRAY
ESEMPIO DI «BUFFER OVERFLOW» 13
ARRAY
USO DI UNA COSTANTE COME DIMENSIONE
DELL’ARRAY
14
ARRAY
ARRAY MULTIDIMENSIONALI 16
ARRAY
STRUTTURA DI UN ARRAY MULTIDIMENSIONALE 17
int M[3][3] = { {1 , 2, 3}, {4, 5, 6}, {7, 8, 9} };
Col0 Col1 Col2
Row0 1 2 3
4 5 6
Row1
7 8 9
Row2
L’inizializzazione di un array multidimensionale si effettua
specificando tra parentesi graffe i valori di ciascuna riga.
ARRAY
ACCESSO AD UN ARRAY MULTIDIMENSIONALE 18
ARRAY
ACCESSO AD UN ARRAY MULTIDIMENSIONALE 19
ARRAY
ESERCIZI 20
1. Dato un vettore di 10 interi, scrivere un programma che acquisisca il
vettore da terminale, e ne stampi a video somma e media degli
elementi.
ARRAY