Escopo variável em C ++

Um escopo é uma região do programa e, em termos gerais, existem três lugares, onde as variáveis ​​podem ser declaradas -

  • Dentro de uma função ou bloco que é chamado de variáveis ​​locais,

  • Na definição dos parâmetros da função, denominados parâmetros formais.

  • Fora de todas as funções que são chamadas de variáveis ​​globais.

Aprenderemos o que é uma função e seu parâmetro nos capítulos subsequentes. Aqui, vamos explicar o que são variáveis ​​locais e globais.

Variáveis ​​Locais

As variáveis ​​declaradas dentro de uma função ou bloco são variáveis ​​locais. Eles podem ser usados ​​apenas por instruções que estão dentro dessa função ou bloco de código. Variáveis ​​locais não são conhecidas por funções fora das suas. A seguir está o exemplo usando variáveis ​​locais -

#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;
}

Variáveis ​​globais

Variáveis ​​globais são definidas fora de todas as funções, geralmente no topo do programa. As variáveis ​​globais manterão seu valor durante toda a vida útil de seu programa.

Uma variável global pode ser acessada por qualquer função. Ou seja, uma variável global está disponível para uso em todo o programa após sua declaração. A seguir está o exemplo usando variáveis ​​globais e locais -

#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;
}

Um programa pode ter o mesmo nome para variáveis ​​locais e globais, mas o valor da variável local dentro de uma função terá preferência. Por exemplo -

#include <iostream>
using namespace std;
 
// Global variable declaration:
int g = 20;
 
int main () {
   // Local variable declaration:
   int g = 10;
 
   cout << g;
 
   return 0;
}

Quando o código acima é compilado e executado, ele produz o seguinte resultado -

10

Inicializando Variáveis ​​Locais e Globais

Quando uma variável local é definida, ela não é inicializada pelo sistema, você deve inicializá-la você mesmo. Variáveis ​​globais são inicializadas automaticamente pelo sistema quando você as define da seguinte maneira -

Tipo de dados Inicializador
int 0
Caracteres '\ 0'
flutuador 0
em dobro 0
ponteiro NULO

É uma boa prática de programação inicializar variáveis ​​corretamente, caso contrário, às vezes o programa produziria resultados inesperados.