Array di lunghezza variabile (VLA)

Abbiamo considerato finora array di dimensione fissa, sebbene un array possa contenere un numero variabile di valori e per i problemi già considerati, può risultare indubbiamente più utile conferire all’array una dimensione congrua al numero di valori da contenere. Parliamo dunque di VLA (variable lenght array), array a lunghezza variabile che assumono la dimensione derivanti da espressioni che non forniscono necessariamente un valore costante.

…
// Sommare resistenze in parallelo
int n_resistenze;
printf(“Inserisci il numero di resistenze in parallelo che vuoi sommare: “);
scanf(“%d”, &n_resistenze);

//Utilizzo della variabile n_resistenze per dimensionare array
int resistenze[n_resistenze];
…

E’ bene ricordare però che in questo caso:

  • l’array non può essere inizializzata contestualmente alla dichiarazione;
  • non possono contenere lo specificatore di classe static o extern.
  • Possono essere utilizzati solo in funzioni ,anche come parametri, in qualsiasi blocco di codice o come parametri nei prototipi di funzioni.

Array Costanti

E’ anche possibile utilizzare il qualificatore const per dichiarare gli elementi che dopo l’inizializzazione non possono subire modifiche. Questo comporta che l’array sia in sola lettura.

Pubblicato da Luca Scandroglio

Sono un consulente tecnico informatico, un web designer e uno sviluppatore italiano. Aiuto le aziende a dotarsi degli strumenti tecnologici e digitali per superare le sfide del mercato di oggi.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *