Variabile (informatica)

In informatica, una variabile è una locazione di memoria destinata a contenere dei dati, che possono essere modificati nel corso dell'esecuzione del programma. Una variabile è spesso, ma non sempre, caratterizzata da un nome.

Una costante invece mantiene lo stesso valore per tutta la durata dell'esecuzione del programma.

Nei linguaggi tipizzati, ciascuna variabile è caratterizzata da un tipo di dato, che specifica come devono essere interpretati i valori memorizzati, e possibilmente restringe i valori accettabili (ad esempio, una variabile destinata a contenere il numero di un mese potrà assumere solo valori da 0 a 11.

Diversi concetti di variabile

In linguaggi di programmazione di livello diverso, il concetto di variabile ha sfumature diverse:

Utilizzo delle variabili

Nei linguaggi compilato, le variabili devono essere dichiarate prima di essere utilizate. La dichiarazione di una variabile specifica il suo tipo e riserva spazio in memoria per la variabile.

Le operazioni basilari che possono essere compiute su una variabile sono la lettura del valore in essa contenuto e la scrittura di un nuovo valore, o assegnamento.

Per leggere il contenuto di una variabile, basta mettere il suo valore in una espressione, ad esempio 'a+b'.

In molti linguaggi di scripting, per indicare che si vuole leggere il valore di una variabile, bisogna aggiungere un prefisso e/o un suffisso al nome della variabile, come $HOME negli script di shell su unix, o %HOME% nei file batch su DOS.

Per assegnare un valore ad una variabile, deve essere usato un operatore di assegnamento, ad esempio, in C, "a = b + 5" assegna alla variabile a il valore dell'espressione 'b+5'.

Formalmente, una espressione che può stare a sinistra di un operatore di assegnamento, ovvero qualcosa in cui può essere scritto un valore, è detta un l-value (contrazione di left-value). Una variabile è l'esempio tipico, ma non l'unico, di l-value. Una espressione che può essere solo letta o valutata, ma alla quale non è possibile assegnare un valore, è un r-value.

Visibilità di una variabile

Il contesto in cui una variabile viene dichiarata all'interno di un programma determina la sua visibilità o scope. Se più variabili dello stesso nome e dello stesso tipo vengono dichiarate in contesti diversi, il nome della variabile fa riferimento alla dichiarazione più specifica, ed esistono strumenti per indicare esplicitamente lo scope a cui si fa riferimento.

See also: Variabile (informatica), Assembly, Classe (informatica), Comando batch, Compilatore, DOS, Funzione (informatica), Hardware, Informatica, Linguaggio C