Una variabile è un nome assegnato ad un'area di memoria che può essere controllata dal programma. Un tipo di variabile specifica la dimensione e la configurazione della memoria della variabile.
L'intervallo del valore che può essere inserito in una variabile viene calcolato prima di inserirvi il valore, in quanto il tipo della variabile deve essere deciso prima di inserirvi il valore.
Ambito delle variabili
L'ambito di una variabile è letteralmente la durata della vita di una variabile. È un blocco di codice in cui una variabile è valida o ancora viva.
function poo() { var a; }
All'interno della funzione 'a', dichiariamo una variabile 'poo'. L'ambito di quella variabile rimane all'interno di quella funzione e non può essere utilizzato al di fuori di essa.
Ci sono tre posti in cui possiamo utilizzare la variabile nella nostra programmazione.
- In una funzione o all'interno di un blocco si dice che siano variabili locali
- Se utilizzato al di fuori di tutte le funzioni, viene denominato variabile globale
- Se utilizzati nella definizione dei parametri della funzione, vengono definiti parametri formali.
Differenza principale
- La variabile dichiarata all'interno di una funzione è detta variabile locale, mentre se la variabile è dichiarata all'esterno della funzione è detta variabile globale.
- D'altra parte, quando la funzione ha iniziato l'esecuzione e viene persa al termine della funzione, le variabili globali vengono create all'inizio dell'esecuzione e vengono perse al termine del programma. Vengono create le variabili locali.
- La variabile locale non prevede la condivisione dei dati, mentre la condivisione dei dati è data dalla variabile globale.
- Le variabili locali vengono memorizzate nello stack, mentre la variabile globale viene memorizzata dal programmatore in una posizione fissa.
- Per le variabili locali sono necessari parametri mentre non è necessario trasferire una variabile globale.
Parametro | Locale | Globale |
---|---|---|
Scopo | All'interno di una funzione. | L'ambito è esterno alla funzione. |
Valore | Se il valore non è inizializzato, fornirà un valore spazzatura. | Se il valore non è inizializzato darà Zero per impostazione predefinita. |
Tutta la vita | Viene creato quando la funzione inizia l'esecuzione e viene perso quando le funzioni terminano. | Viene creato prima dell'avvio dell'esecuzione globale del programma e perso quando il programma termina. |
Condivisione dei dati | Non possibile. | Possibile. |
Parametri | Necessario. | Non richiesto. |
Accesso da | Variabili locali | Possiamo accedere alle variabili globali in tutto il programma. |
Archiviazione della memoria | In pila. | In una posizione fissa assegnata dal computer. |
Variabile locale
La variabile locale è specificata nel blocco di programmazione o nelle subroutine come una forma di variabile dichiarata. La variabile locale persiste prima che il blocco della funzione venga eseguito. Successivamente verrà perso automaticamente.
Esempio di variabile locale
public int sum(){ int x =4; int y=5; return x+y; }
Qui, 'x' e 'y' sono variabili locali
Variabile globale
Una variabile specificata all'esterno della funzione o del blocco del codice è nota come variabile globale. Ha una portata globale, il che significa che mantiene la sua rilevanza per tutta la durata del programma. Pertanto, qualsiasi funzionalità specificata nel programma può accedervi all'interno del programma, a meno che non sia oscurata.
Esempio di variabile globale
int x =4; int y=5; public int add(){ return x+y; }
Qui, 'x' e 'y' sono variabili globali.
Vantaggi dell'utilizzo delle variabili globali
- È possibile accedere alla variabile globale da tutte le funzioni o moduli di un programma.
- Dobbiamo solo dichiarare una variabile globale monouso al di fuori dei moduli.
- Viene utilizzato quando l'utente ha bisogno di accedere ripetutamente agli stessi dati in tutto il programma.
Svantaggi dell'utilizzo delle variabili globali
- Tante variabili vengono dichiarate globali, quindi rimangono in memoria fino al completamento dell'esecuzione del programma. Ciò può innescare il problema di Memoria esaurita.
- Qualsiasi funzionalità può modificare i dati. Qualsiasi istruzione scritta nel programma modificherà il valore della variabile globale. In ambienti multitasking, ciò può offrire risultati imprevedibili.
- Dobbiamo modificare tutti i moduli dove prendono il nome se le variabili globali vengono interrotte a causa del refactoring del codice.
Vantaggi dell'utilizzo delle variabili locali
- I valori delle variabili rimangono invariati durante l'esecuzione dell'attività: questo è il significato di base della variabile Locale.
- Se una singola variabile eseguita contemporaneamente viene modificata da molte attività, il risultato può essere imprevedibile. Tuttavia, dichiararlo come variabile locale risolverà il problema.
- Possiamo assegnare lo stesso nome alle variabili di funzioni diverse.
- Man mano che la funzione viene eseguita, la memoria della variabile viene liberata.
Svantaggi delle variabili locali
- Il metodo di debug di una variabile locale è molto complicato.
- I dati più diffusi dovevano essere trasmessi regolarmente poiché la condivisione dei dati tra i moduli non è fattibile.
- Hanno uno spettro molto piccolo.
Cosa è più utile?
La variabile locale e globale altrettanto essenziale quando si scrive un programma in qualsiasi lingua. Una grande quantità della variabile globale, tuttavia, può occupare una memoria enorme. Una transizione indesiderata alle variabili globali sta diventando difficile da definire. È inoltre prudente evitare di annunciare variabili globali indesiderate.