Note

Gli array sono strutture dati che permettono di memorizzare più elementi dello stesso tipo in posizioni di memoria contigue. Ecco la struttura base degli array mono-dimensionali:

tipo_dato nome_array[dimensione];
tipo_dato nome_array[dimensione] = {valore1, valore2, ...};

Dove dimensione è un valore costante non ottenuto in runtime.

Example

#include <stdio.h>
#define LEN 5
 
int main() {
  /* Dichiarazione e inizializzazione di un array */
  int numeri[LEN] = {1, 2, 4, 8, 16};
  
  /* Accesso e modifica degli elementi */
  printf("Elemento all'indice 2: %d\n", numeri[2]);
  numeri[3] = 9721;
  
  /* Stampa di tutti gli elementi */
  for (int i = 0; i < LEN; i++) {
  	printf("%d ", numeri[i]);
  	}
  	printf("\n");
  	
  	return 0;
  	}
  	```

Array bidimensionali

Note

Gli array bi-dimensionali sono strutture che organizzano i dati in una tabella di righe e colonne. Ecco la loro struttura:

tipo_dato nome_array[num_righe][num_colonne];
tipo_dato nome_array[num_righe][num_colonne] = {
  {valore1_riga1, valore2_riga1, ...},
  {valore1_riga2, valore2_riga2, ...},
  ...
  };

Come per gli array unidimensionali num_righe e num_colonne è un valore costante non ottenuto in runtime.

Example

#include <stdio.h>
#define H 2
#define W 3
 
 
int main() {
  /* Dichiarazione e inizializzazione di una matrice 2x3 */
  int matrice[H][W] = {
  	{1, 2, 3},
  	{4, 5, 6}
  	};
  	
  	/* Accesso e modifica degli elementi */
  	printf("Elemento in riga 0, colonna 1: %d\n", matrice[0][1]);
  	matrice[1][2] = 9721;
  	
  	/* Stampa di tutti gli elementi */
  	for (int i = 0; i < H; i++) {
  	for (int j = 0; j < W; j++) {
  		printf("%d ", matrice[i][j]);
  	}
  	printf("\n");
  	}
  	
  	return 0;
  	}
  	```