Nwlapcug.com


Qual è la differenza tra le variabili locali e globali?

Qual è la differenza tra le variabili locali e globali?


In informatica, una variabile è una posizione di memoria denominato che un programmatore può utilizzare per rappresentare dati invece di inserimento dei dati direttamente in un programma. L'ambito di una variabile è la regione del codice sorgente del programma, entro il quale esso rappresenta alcuni dati. Maggior parte dei linguaggi di programmazione supportano le variabili locali e globali, ma esistono alcune importanti differenze tra i due tipi.

Variabili locali

Variabili locali esistono solo all'interno della funzione..--una sezione denominata codice di programma che esegue un'attività specifica..--in cui sono definite, o dichiarati. Essi cessano di esistere una volta che la funzione è stata completata. Le variabili locali vengono ricreate ogni volta che la funzione è chiamata, o eseguita. Queste variabili non sono accessibili ad altre funzioni o al programma principale e, come tale, solitamente implementazione utilizzando un particolare tipo di struttura di dati, nota come una pila.

Pila

In molti linguaggi di programmazione, lo "stack" è un elemento chiave nell'implementazione di variabili locali. Prima di eseguire una funzione, un programma aggiunge tutte le variabili locali dichiarate in tale funzione per lo stack, in ordine inverso a quello in cui sono state dichiarate. Quando il programma chiama la funzione, le variabili locali vengono rimossi dallo stack in ordine inverso, quindi la maggior parte recentemente aggiunto variabile è il primo rimosso.

Variabili globali

Le variabili globali vengono dichiarate nel corpo principale del codice sorgente del programma, all'esterno di tutte le funzioni, e pertanto esistono ovunque nel codice, anche all'interno delle funzioni. Variabili globali non vengono ricreate ogni volta che viene chiamata una funzione particolare. Programmi in genere utilizzano variabili globali per memorizzare i dati che viene elaborati da molte funzioni diverse. Un semplice programma di modifica del testo, ad esempio, può caricare il contenuto del file che sta lavorando in una variabile globale.

Pro & contro

Variabili locali rendono più facile eseguire il debug e mantenere programmi per computer. I programmatori possono accertare il punto preciso in cui un programma modifica il valore di una variabile locale, mentre le variabili globali possono essere modificate in qualsiasi punto all'interno del codice sorgente. Le variabili locali, inoltre, produrre meno interazioni imprevisti con la chiamata di funzioni o il mondo esterno, noto come effetti collaterali, rispetto le variabili globali. Le variabili globali sono accessibili nelle funzioni in cui non vengono utilizzati, che contraddice il concetto di programmazione modulare, in quale programma codice è composto da blocchi di piccole e isolate o moduli, quindi i programmatori che favoriscono la struttura modulare raramente utilizzano.