Variabile (informatica)Una variabile, in informatica, è un contenitore di dati situato in una porzione di memoria (una o più locazioni di memoria) destinata a contenere valori, suscettibili di modifica nel corso dell'esecuzione di un programma. Una variabile è caratterizzata da un nome (inteso solitamente come una sequenza di caratteri e cifre). Una costante è un dato non modificabile situato in una porzione di memoria (una o più locazioni di memoria) destinata a contenere un valore, che non può essere appunto modificato nel corso dell'esecuzione di un programma. Una costante può essere caratterizzata da un nome (inteso solitamente come una sequenza di caratteri e cifre). Nei linguaggi tipizzati, ciascuna variabile è caratterizzata da un tipo di dato, che specifica come deve essere considerato il dato rappresentato, e possibilmente restringe i valori accettabili. Ad esempio una variabile destinata a contenere il numero progressivo di un mese di una data, potrà assumere solo i valori interi da 1 a 12. L'insieme delle variabili esistenti a tempo di esecuzione è contenuto all'interno dell'ambiente. Definizione formaleLa variabile è un identificatore V associato a un insieme prefissato di possibili valori che definiscono il tipo della variabile. L'insieme dei possibili valori definisce il range dei valori che V può assumere durante l'esecuzione di un programma. Definendo il tipo e la rappresentazione della variabile oltre al range di valori, vengono definite anche le operazioni possibili con la variabile stessa. Durante l'esecuzione di un programma ciascuna variabile ha un valore corrente. Ambiti per concetto di variabileNei linguaggi di programmazione di livello diverso, il concetto di variabile ha sfumature diverse:
Uso delle variabiliNei linguaggi compilati, le variabili devono essere definite ovvero dichiarate in maniera tipizzata prima di essere adoperate, in quanto il compilatore o l'interprete non sa come trattare ovvero non riconosce oggetti sconosciuti ovvero non specificati precedentemente. La dichiarazione consente di raggiungere due fondamentali obiettivi: da un lato, con la dichiarazione tipizzata si specifica il tipo della variabile, cosicché il compilatore è in grado di verificare eventuali errori semantici presenti all'interno di un programma sintatticamente corretto (ad esempio, non è consentito moltiplicare tra loro una variabile stringa e una variabile intera). Dall'altro, viene valutata e definita la quantità di memoria destinata, in fase di esecuzione, a contenere i dati a cui la variabile si riferisce. 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. Il primo assegnamento della variabile è detto inizializzazione. Molti linguaggi richiedono o preferiscono che la variabile una volta dichiarata venga anche inizializzata a un valore arbitrario. Dal punto di vista della semantica dei linguaggi di programmazione quando si dichiara tramite un identificativo o nome e si inizializza tramite un certo valore una variabile, il calcolatore riserva un contenitore ovvero un'area di memoria alla suddetta variabile ovvero crea un'associazione indirizzo cella di memoria-valore per tutto il tempo in cui la variabile stessa è attiva. In virtù della definizione di variabile l'associazione suddetta è dinamica ovvero il valore di questa può variare all'interno del flusso di esecuzione del programma comportando una sovrascrittura del valore precedente con quello attuale al punto o tempo t. Per leggere il contenuto di una variabile 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 Per assegnare un valore a una variabile, deve essere usato un operatore di assegnamento, ad esempio, in C, Formalmente, un'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. Un'espressione che può essere solo letta o valutata, ma alla quale non è possibile assegnare un valore, è detta r-value. Visibilità di una variabileIl contesto in cui una variabile viene dichiarata all'interno di un programma determina la sua visibilità (o portata o scope). Tutte le variabili visibili a tempo di esecuzione in un certo istante sono contenute nell'ambiente. Se più variabili dello stesso nome e dello stesso tipo vengono dichiarate in contesti diversi, è l'ambiente messo a disposizione dal linguaggio che determina in che modo le variabili sono visibili in ogni momento. Nei linguaggi più diffusi, ad esempio, il nome della variabile fa riferimento alla dichiarazione più specifica, ed esistono strumenti per indicare esplicitamente lo scope a cui si fa riferimento. Si veda il seguente esempio: <begin blocco 1> var x:... /* qui è visibile x */ <begin blocco 1.1> var y:... /* qui sono visibili x ed y */ <end blocco 1.1> <begin blocco 1.2> var z:... /* qui sono visibili x e z */ <begin blocco 1.2.1> var y:... /* qui sono visibili x, z e y */ <end blocco 1.2.1> <end blocco 1.2> <end blocco 1>
Voci correlate
Altri progetti
Collegamenti esterni
|