Guida Linguaggio C: Gli Array
18 Dicembre 2007 C
   





Introduzione

Un array è una collezione di dati dello stesso tipo. È una struttura costituita da un numero definito di elementi tutti dello stesso tipo.

Figura 1.
Ogni cella dell'array contiene uno di questi elementi. È possibile accedere direttamente, in lettura ed in scrittura, a ciascun elemento (a ciascuna cella) dell'array. Gli elementi di un array possono essere di tipo semplice come interi, caratteri, ecc. o anche di tipo strutturato, come struct. Un array di questo tipo viene chiamato array monodimensionale.
La dichiarazione di un array ha la forma seguente

  1. tipo-array nome-array[num-elementi];

num-elementi indica il numero di elementi di cui è costituito l'array. Da notare che il primo elemento di un array ha indice 0, questo significa che in un array di dimensione N il valore dell'indice dell'array andrà da 0 a N-1. In un array di dimensione 5, i 5 elementi saranno: nome-array[0], nome-array[1], nome-array[2], nome-array[3], nome-array[4]. 
Esempio
  1. typedef
  2. {
  3. char cognome[30], nome[30];
  4. int eta;
  5. } persona;
  6.  
  7. persona persone[100];
  8.  
  9. int a[10];
  10.  
  11. int b[] = {0, 1, 2, 3, 4};
  12.  
  13. int c[5];
  14.  
  15.  
  16. c[0] = 0;
  17. c[1] = 1;
  18. c[2] = 2;
  19. c[3] = 3;
  20. c[4] = 4;
  21.  
  22. b[3] = 20;

È possibile definire array di strutture, come nel primo caso, così come array di tipi semplici come interi, caratteri, ecc. Si possono definire subito, al momento della dichiarazione, gli elementi dell'array, come nel caso dell'array b.
Per assegnare il valore 20 al quarto elemento dell'array b si usa l'assegnazione dell'ultima riga.

Gli Array Multidimensionali

Gli elementi di un array possono anche essere a loro volta degli array. In questo caso ogni cella dell'array conterrà un array. Che a sua volta potrebbe avere come elementi degli array, e così via. Un array di questo tipo viene chiamato array multidimensionale.
Nel caso in cui gli elementi di un array siano degli array monodimensionali l'array viene invece chiamato array bidimensionale o matrice.

Figura 2.
La dichiarazione di un array multidimensionale ha la forma seguente

  1. tipo-array nome-array[num-elementi-1][num-elementi-2]...[num-elementi-N];

La dichiarazione di un array bidimensionale (matrice) ha in particolare la forma seguente

  1. tipo-matrice nome-matrice[num-elementi-row][num-elementi-col];

dove num-elementi-row indica il numero di righe della matrice e num-elementi-col indica il numero di colonne della matrice.
La matrice matrix

  1. int matrix[3][5];

può essere rappresentata come

Figura 3.


Esempio
  1. int matrix[3][5] = {{12, 5, 9, 23, 19}, {7, 35, 69, 3, 89}, {72, 53, 1, 63, 91}}

La matrice matrix così definita può essere rappresentata come

Figura 4.

 
Guida Linguaggio C