Cerca nel sito:
ricerca
avanzata

Frasi Celebri...

La religione ? la figlia della speranza e della paura, che esprime all'ignoranza la natura dell'inconoscibile.

Ambrose Gwinnett Bierce 

Sondaggio:

Chi ? la donna pi? sexy del mondo?

Cindy Crawford
Jennifer Lopez
Sabrina Ferilli
Maraiah Carey
Manuela Arcuri
Christina Aguilera
Cameron Diaz
Pamela Anderson
Nina Morich
Maria Grazia Cucinotta
Megan Gale
Naomi Campell
Britney Spears

visualizza risultati


 

Array

Per quanto visto precedentemente, una variabile puo` contenere un solo valore alla volta; il costruttore di array [ ] permette di raccogliere sotto un solo nome piu` variabili dello stesso tipo. La dichiarazione

 

int Array[10];

 

introduce con il nome Array 10 variabili di tipo int (anche se solitamente si parla di una variabile di tipo array); il tipo di Array e` array di 10 int(eri).
La sintassi per la generica dichiarazione di un array e`

< NomeTipo > < Identificatore > [ < NumeroElementi > ] ;

Al solito Tipo puo` essere sia un tipo primitivo che uno definito dal programmatore, Identificatore e` un nome scelto dal programmatore per identificare l'array, mentre NumeroElementi deve essere un intero positivo e indica il numero di singole variabili che compongono l'array.
Il generico elemento dell'array viene selezionato con la notazione Identificatore[Espressione], dove Espressione puo` essere una qualsiasi espressione che produca un valore intero; il primo elemento di un array e` sempre Identificatore[0], e di conseguenza l'ultimo e` Identificatore[NumeroElementi-1]:

 

float Pippo[10];
float Pluto;

Pippo[0] = 13.5;   // Assegna 13.5 al primo elemento
Pluto = Pippo[9];  // Seleziona l'ultimo elemento di
                   // Pippo e lo assegna a Pluto

 

E` anche possibile dichiarare array multidimensionali (detti array di array o piu` in generale matrici) specificando piu` indici:

 

long double Qui[3][4];       // una matrice 3 x 4
short Quo[2][10];            // 2 array di 10 short int
int SuperPippo[12][16][20];  // matrice 12 x 16 x 20

 

La selezione di un elemento da un array multidimensionale avviene specificando un valore per ciascuno degli indici:

 

int Pluto = SuperPippo[5][7][9];
Quo[1][7] = Superpippo[2][2][6];

 

E` anche possibile specificare i valori iniziali dei singoli elementi dell'array tramite una inizializzazione aggregata:

 

int Pippo[5] = { 10, -5, 6, 110, -96 };
short Pluto[2][4] = { {4, 7, 1, 4}, {0, 3, 5, 9} };

int Quo[4][3][2] = { {{1, 2}, {3, 4}, {5, 6}},
                     {{7, 8}, {9, 10}, {11, 12}},
                     {{13, 14}, {15, 16}, {17, 18}},
                     {{19, 20}, {21, 22}, {23, 24}}
                   };

float Minni[ ] = { 1.1, 3.5, 10.5 };
long Manetta[ ][3] = { {5, -7, 2}, {1, 0, 5} };

 

La prima dichiarazione e` piuttosto semplice, dichiara un array di 5 elementi e per ciascuno di essi indica il valore iniziale a partire dall'elemento 0. Nella seconda riga viene dichiarata una matrice bidimensionale e se ne esegue l'inizializzazione, si noti l'uso delle parentesi graffe per raggruppare opportunamente i valori; la terza dichiarazione chiarisce meglio come procedere nel raggruppamento dei valori, si tenga conto che a variare per primo e` l'ultimo indice cosi` che gli elementi vengono inizializzati nell'ordine Quo[0][0][0], Quo[0][0][1], Quo[0][1][0], ..., Quo[3][2][1].
Le ultime due dichiarazioni sono piu` complesse in quanto non vengono specificati tutti gli indici degli array: in caso di inizializzazione aggregata il compilatore e` in grado di determinare il numero di elementi relativi al primo indice in base al valore specificato per gli altri indici e al numero di valori forniti per l'inizializzazione, cosi` che la terza dichiararzione introduce un array di 3 elementi e l'ultima una matrice 2 x 3. E` possibile omettere solo il primo indice e solo in caso di inizializzazione aggregata.
Gli array consentono la memorizzazione di stringhe:

 

char Topolino[ ] = "investigatore" ;

 

La dimensione dell'array e` pari a quella della stringa "investigatore" + 1, l'elemento in piu` e` dovuto al fatto che in C++ le stringhe per default sono tutte terminate dal carattere nullo ('\0')che il compilatore aggiunge automaticamente.
L'accesso agli elementi di Topolino avviene ancora tramite le regole viste sopra e non e` possibile eseguire un assegnamento con la stessa metodologia dell'inizializzazione:

 

char Topolino[ ] = "investigatore" ;

Topolino[4] = 't';       // assegna 't' al quinto
                         // elemento
Topolino[ ] = "basso";   // errore!
Topolino = "basso";      // ancora errore!

 

E` possibile inizializzare un array di caratteri anche nei seguenti modi:

 

char Minnie[ ] = { 'M', 'i', 'n', 'n', 'i', 'e' };
char Pluto[5] = { 'P', 'l', 'u', 't', 'o' };

 

In questi casi pero` non si ottiene una stringa terminata da '\0', ma semplici array di caratteri il cui numero di elementi e` esattamente quello specificato.

 

 

successivo
–«  INDICE  »–

 

 

 

 
Powered by paper&pencil (carta&matita ) - Copyright © 2001-2019 Cataldo Sasso