escopo de variáveis C ++
Scope é um programa regional, em geral, há três lugares que você pode declarar variáveis:
- Função ou variável declarada dentro de um bloco de código, chamadas de variáveis locais.
- Variáveis declaradas na definição dos parâmetros de função, chamado parâmetros formais.
- Todas as variáveis declaradas fora de uma função, chamadas de variáveis globais.
Vamos aprender em capítulos posteriores qual é a função e os parâmetros. Neste capítulo, primeiro explicar para declarar uma variáveis locais e globais.
As variáveis locais
Função ou variável declarada dentro de um bloco de código, chamadas de variáveis locais. Eles só podem ser usados dentro de uma função ou bloco de código dentro da instrução. O exemplo a seguir utiliza variáveis locais:
#include <iostream> using namespace std; int main () { // 局部变量声明 int a, b; int c; // 实际初始化 a = 10; b = 20; c = a + b; cout << c; return 0; }
Variáveis globais
Em todas as variáveis definidas fora da função (geralmente o chefe do programa), conhecido como variáveis globais. O valor de uma variável global ao longo de todo o ciclo de vida do programa são válidos.
As variáveis globais podem ser acessados por qualquer função. Em outras palavras, uma vez variável global declarado durante todo o programa estão disponíveis. O exemplo a seguir utiliza variáveis globais e locais:
#include <iostream> using namespace std; // 全局变量声明 int g; int main () { // 局部变量声明 int a, b; // 实际初始化 a = 10; b = 20; g = a + b; cout << g; return 0; }
No programa, locais variáveis e variáveis globais podem ser o mesmo, mas dentro de uma função, as variáveis locais irão sobrepor o valor de uma variável global. Aqui está um exemplo:
#include <iostream> using namespace std; // 全局变量声明 int g = 20; int main () { // 局部变量声明 int g = 10; cout << g; return 0; }
Quando o código acima é compilado e executado, ele produz os seguintes resultados:
10
Inicializar variáveis locais e globais
Quando uma variável local é definida, o sistema não inicializar, você deve inicializar-lo sozinho. Quando você define as variáveis globais são automaticamente inicializados com os seguintes valores:
数据类型 | 初始化默认值 |
---|---|
int | 0 |
char | '\0' |
float | 0 |
double | 0 |
pointer | NULL |
variável inicializado corretamente é uma boa prática de programação, caso contrário, o programa pode às vezes produzir resultados inesperados.