Entendendo Escopo de Variáveis em C++: Variáveis Locais vs Globais
Um escopo é uma região do programa e, amplamente falando, existem três lugares onde variáveis podem ser declaradas:
Dentro de uma função ou bloco, chamadas de variáveis locais,
Na definição de parâmetros de função, chamados de parâmetros formais.
Fora de todas as funções, chamadas de variáveis globais.
Aprenderemos o que é uma função e seus parâmetros nos capítulos subsequentes. Aqui, vamos explicar o que são variáveis locais e globais.
Variáveis Locais
Variáveis declaradas dentro de uma função ou bloco são variáveis locais. Elas só podem ser usadas 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, exemplo usando variáveis locais:
#include <iostream>
using namespace std;
int main() {
// Declaração de variável local:
int a, b;
int c;
// inicialização real
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 seus valores durante toda a vida útil do 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 seu programa após sua declaração. A seguir, exemplo usando variáveis globais e locais:
#include <iostream>
using namespace std;
// Declaração de variável global:
int g;
int main() {
// Declaração de variável local:
int a, b;
// inicialização real
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;
// Declaração de variável global:
int g = 20;
int main() {
// Declaração de variável local:
int g = 10;
cout << g;
return 0;
}
Quando o código acima é compilado e executado, 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 forma:
| Tipo de Dado | Inicializador |
|---|---|
| int | 0 |
| char | '\0' |
| float | 0 |
| double | 0 |
| ponteiro | NULL |
É uma boa prática de programação inicializar variáveis corretamente; caso contrário, às vezes o programa produziria resultados inesperados.
Linguagem C
- Domine Variáveis e Tipos de Dados Primitivos em C#: Guia Completo
- Entendendo Escopo de Variáveis em C#: Níveis de Classe, Método e Bloco
- Dominando Variáveis, Literais e Constantes em C++: Guia Completo
- Dominando Operadores em C++: Guia Completo com Exemplos Práticos
- Comentários em C++: Boas Práticas para Código Legível e Manutenível
- Variáveis, Constantes e Literais em C: Um Guia Completo
- Entendendo Classes de Armazenamento em C: Escopo, Tempo de Vida e Performance
- Entendendo Variáveis Globais, Locais e Nonlocal em Python
- Variáveis e Tipos de Dados em C++: Guia Completo sobre int, double, char, string, bool
- Dominando Ponteiros em C++: Conceitos, Exemplos e Aplicações Práticas