Qual è la differenza tra variabili locali e globali?

July 17

Qual è la differenza tra variabili locali e globali?


Nella programmazione di computer, una variabile è una locazione di memoria denominata che un programmatore può usare per rappresentare i dati, piuttosto che inserire i dati direttamente in un programma. L'ambito di una variabile è la regione del codice sorgente di programma entro il quale rappresenta determinati dati. La maggior parte dei linguaggi di programmazione supportano entrambe le variabili locali e globali, ma esistono alcune importanti differenze tra i due tipi.

Variabili locali

Le variabili locali esistono solo all'interno della funzione - una sezione denominata di codice di programma che esegue un compito specifico - in cui sono definiti, o dichiarati. Essi cessano di esistere una volta che la funzione viene completata. Le variabili locali vengono ricreati ogni volta che la funzione viene chiamata, né giustiziato. Queste variabili non sono accessibili ad altre funzioni o al programma principale e, come tali, sono di solito implementate utilizzando un particolare tipo di struttura dati, nota come una pila.

Pila

In molti linguaggi di programmazione, il "stack" è un elemento chiave per l'attuazione 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 dalla pila in ordine inverso, per cui la variabile più recentemente aggiunto è il primo rimosso.

Variabili globali

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

Pro e contro

Le variabili locali fanno programmi per computer più facili da eseguire il debug e mantenere. I programmatori possono accertare il punto preciso in cui il programma modifica il valore di una variabile locale, mentre le variabili globali possono essere modificate ovunque all'interno del codice sorgente. Le variabili locali, inoltre, produrre un minor numero di interazioni inattesi con le funzioni di chiamata o il mondo esterno, noti come effetti collaterali, di variabili globali. Le variabili globali sono accessibili nelle funzioni in cui non vengono utilizzati, in contraddizione con il concetto di programmazione modulare, in cui il codice del programma è costituito da piccoli, blocchi isolati o moduli, in modo da programmatori che favoriscono la struttura modulare raramente li utilizzano.