Area di visibilità.

Variabili, costanti e altri tipi di dati (struct ed enumerazioni) hanno un concetto così importante come l'ambito.
  • Globale
  • Locale
  • Formale (opzione)
Globale.
Una variabile globale viene dichiarata al di fuori delle funzioni ed è disponibile per la lettura e la scrittura in qualsiasi punto del programma, in qualsiasi sua funzione.
byte var;          // variabile globale
void setup() 
     // cambia il valore della variabile globale 
     var = 5;
}
void loop() 
     // cambia il valore della variabile globale 
     var = 7;
}
Locale.
Una variabile locale risiede all'interno di una funzione o all'interno di qualsiasi blocco di codice racchiuso tra { parentesi graffe } ed è leggibile e scrivibile solo al suo interno. Se provi ad accedere a una variabile locale da un'altra funzione (al di fuori del suo { blocco } ), riceverai un errore perché la variabile locale viene ricreata quando viene eseguito il blocco di codice (o funzione) che la contiene e viene rimossa dalla memoria quando l'esecuzione di questo blocco (o funzione) termina:
void setup() 
     byte var; // variabile locale per l'installazione 
     // cambia il valore della variabile locale 
     var = 5;
}
void loop() 
     // risulterà in un errore perché var non è dichiarato in questo blocco di codice 
     var=7; 
     // crea qui un blocco di codice separato 
     
           byte var2 = 7; 
           // var2 esiste solo all'interno di questo blocco! 
     } 
     // qui var2 verrà rimosso dalla memoria
}
Un punto importante: se il nome di una variabile locale corrisponde a quello globale, allora la priorità di chiamare per nome nella funzione è data alla variabile locale:
byte var; // creare una variabile globale var 
void setup() 
     byte var; // creare una variabile locale var 
     // cambia variabile locale var 
     var = 5;
}
void loop() 
{ 
     // e qui cambia la variabile globale var! 
     var = 7;
}
Formale (opzione).
Una variabile formale, che è anche un parametro passato a una funzione, si comporta come una normale variabile locale, ma appare in condizioni leggermente diverse: quando la funzione viene chiamata. Questa variabile può essere letta e modificata all'interno della sua funzione.
void setup() 
{ 
     // passiamo 5 come argomento 
     myFunc(5);
}
void loop() 
{
}
void myFunc(byte var) 
{
     // qui var è una variabile locale 
     // aggiungi 7 ad esso 
     var += 7; // dopo parentesi graffi la variabile verrà rimossa dalla memoria!
}  
Crea il tuo sito web gratis! Questo sito è stato creato con Webnode. Crea il tuo sito gratuito oggi stesso! Inizia