Ambito variabile in C ++
Uno scopo è una regione del programma e in generale ci sono tre luoghi in cui è possibile dichiarare le variabili:
All'interno di una funzione o di un blocco che si chiama variabili locali,
Nella definizione dei parametri di funzione che viene chiamato parametri formali.
Al di fuori di tutte le funzioni che si chiamano variabili globali.
Impareremo cos'è una funzione e il suo parametro nei capitoli successivi. Ora spieghiamo cosa sono le variabili locali e globali.
Variabili locali
Le variabili dichiarate all'interno di una funzione o di un blocco sono variabili locali. Possono essere utilizzati solo da istruzioni che si trovano all'interno di quella funzione o blocco di codice. Le variabili locali non sono note alle funzioni esterne alla propria. Di seguito è riportato l'esempio che utilizza le variabili locali:
#include <iostream>
using namespace std;
int main () {
// Local variable declaration:
int a, b;
int c;
// actual initialization
a = 10;
b = 20;
c = a + b;
cout << c;
return 0;
}
Variabili globali
Le variabili globali sono definite al di fuori di tutte le funzioni, solitamente nella parte superiore del programma. Le variabili globali manterranno il loro valore per tutta la durata del programma.
È possibile accedere a una variabile globale da qualsiasi funzione. Cioè, una variabile globale è disponibile per l'uso in tutto il programma dopo la sua dichiarazione. Di seguito è riportato l'esempio che utilizza variabili globali e locali:
#include <iostream>
using namespace std;
// Global variable declaration:
int g;
int main () {
// Local variable declaration:
int a, b;
// actual initialization
a = 10;
b = 20;
g = a + b;
cout << g;
return 0;
}
Un programma può avere lo stesso nome per le variabili locali e globali, ma il valore della variabile locale all'interno di una funzione avrà la precedenza. Ad esempio:
#include <iostream>
using namespace std;
// Global variable declaration:
int g = 20;
int main () {
// Local variable declaration:
int g = 10;
cout << g;
return 0;
}
Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:
10
Inizializzazione delle variabili locali e globali
Quando una variabile locale è definita, non viene inizializzata dal sistema, è necessario inizializzarla da soli. Le variabili globali vengono inizializzate automaticamente dal sistema quando vengono definite come segue:
Tipo di dati | Inizializzatore |
---|---|
int | 0 |
char | "\ 0" |
galleggiante | 0 |
Doppio | 0 |
puntatore | NULLO |
È una buona pratica di programmazione inizializzare correttamente le variabili, altrimenti a volte il programma produrrebbe risultati imprevisti.