Concetti Chiave
- La dichiarazione di un array avviene tramite "[];" e deve essere espressa in modo intero e positivo, preferibilmente utilizzando macro per evitare "magic number".
- Un array è già definito al momento della dichiarazione, poiché alloca spazio in memoria e gli elementi sono indicizzati da 0 a N-1.
- Per accedere a un valore di un array, è necessario specificare un indice compreso tra 0 e N-1 per evitare errori di buffer overflow.
- Un array può essere inizializzato solo al momento della sua dichiarazione con la sintassi "= {n0, n1, n2,…}", dove i valori non specificati assumeranno il valore 0.
- Gli array multidimensionali sono definiti con più dimensioni e vengono inizializzati con la sintassi "={{a,b,c}, {d,e,f}}", memorizzati in modo sequenziale in memoria.
Dichiarazione e definizione di array
La dichiarazione di un array è:
L’espressione deve essere intera e positiva. La dimensione non può essere espressa da un const int ed è preferibile esprimere la lunghezza tramite una macro (se un numero compare più volte, questo è chiamato magic number, cattivo stile di programmazione).
La dichiarazione di un array è già una definizione, poichè alloca spazio in memoria. Gli elementi di un array sono disposti in memoria in locazioni successive, ogni elemento è indicizzato da un numero, si inizia da 0 e il massimo è N-1. Se il loro contenuto non è inizializzato, il loro valore non è definito.
Inizializzazione e accesso agli array
Per accedere ad un valore è necessario specificare l’indice. Se viene indicato un valore indice esterno a 0 e N-1, si verificherà buffer overflow.
Per inizializzare un array si usa:
Array multidimensionali
Un array può essere definito con più di una dimensione, quindi array multidimensionali.
Anche gli array multidimensionali vengono salvati in memoria sequenzialmente, la prima riga e seguita dalla seconda e così via. Per inizializzare un array multidimensionale, si opera: ={{a,b,c}, {d,e,f}}.
Se le parentesi interne vengono omesse gli elementi sono inizializzati in ordine di come sono scritti, ma è meglio evitare. Per stampare i valori di un array multidimensionale è necessario utilizzare più indici diversi e più livelli di annidamento.
È possibile omettere solo la prima dimensione se l’array viene subito inizializzato.
Domande da interrogazione
- Qual è la corretta dichiarazione di un array e quali sono le sue caratteristiche principali?
- Come si inizializza un array e quali sono le regole da seguire?
- Cosa sono gli array multidimensionali e come si inizializzano?
La dichiarazione di un array è rappresentata da "[];", e deve avere una dimensione intera e positiva. La dichiarazione è anche una definizione, poiché alloca spazio in memoria e gli elementi sono indicizzati da 0 a N-1. Se non inizializzati, i valori degli elementi non sono definiti.
Un array si inizializza utilizzando la sintassi "= {n0, n1, n2,…}", dove i valori non specificati vengono automaticamente impostati a 0. Non è possibile inizializzare un array senza specificare valori all'interno delle parentesi graffe, e la lunghezza può essere omessa se l'array è dichiarato e inizializzato contemporaneamente.
Gli array multidimensionali sono array definiti con più di una dimensione e sono memorizzati in modo sequenziale in memoria. Si inizializzano con la sintassi "= {{a,b,c}, {d,e,f}}". È consigliabile non omettere le parentesi interne per evitare confusione, e per stampare i valori è necessario utilizzare più indici e livelli di annidamento.