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.