Latest web development tutorials

Zakres zmiennej C ++

Zakres jest program regionalny, w ogóle istnieją trzy miejsca, można zadeklarować zmienne:

  • Funkcja lub zmienne deklarowane wewnątrz bloku kodu, zwane zmienne lokalne.
  • Zmienne zadeklarowane w definicji parametrów funkcyjnych, zwane parametry formalne.
  • Wszystkie zmienne zadeklarowane poza funkcją, zwany zmiennych globalnych.

Dowiemy się w kolejnych rozdziałach, co jest funkcja i parametry. W tym rozdziale najpierw wyjaśnić do deklarowania zmiennych lokalnych i globalnych.

zmienne lokalne

Funkcja lub zmienne deklarowane wewnątrz bloku kodu, zwane zmienne lokalne. Mogą być stosowane tylko wewnątrz funkcji lub bloku kodu wewnątrz rachunku. W poniższym przykładzie użyto zmiennych lokalnych:

#include <iostream>
using namespace std;
 
int main ()
{
  // 局部变量声明
  int a, b;
  int c;
 
  // 实际初始化
  a = 10;
  b = 20;
  c = a + b;
 
  cout << c;
 
  return 0;
}

Zmienne globalne

We wszystkich zmiennych zdefiniowanych na zewnątrz funkcji (zwykle szef programu), znany jako zmienne globalne. Wartość zmiennej globalnej w ciągu całego cyklu życia programu są ważne.

Zmienne globalne są dostępne dla dowolnej funkcji. Innymi słowy, gdy zmienna globalna uznane przez program jest dostępny. Poniższy przykład używa zmiennych globalnych i lokalnych:

#include <iostream>
using namespace std;
 
// 全局变量声明
int g;
 
int main ()
{
  // 局部变量声明
  int a, b;
 
  // 实际初始化
  a = 10;
  b = 20;
  g = a + b;
 
  cout << g;
 
  return 0;
}

W programie zmienne lokalne i globalne zmienne mogą być takie same, ale wewnątrz funkcji, zmienne lokalne nadpisze wartość zmiennej globalnej. Oto przykład:

#include <iostream>
using namespace std;
 
// 全局变量声明
int g = 20;
 
int main ()
{
  // 局部变量声明
  int g = 10;
 
  cout << g;
 
  return 0;
}

Gdy powyższy kod jest kompilowany i wykonany, że daje następujące wyniki:

10

Inicjalizacja zmiennych lokalnych i globalnych

Gdy lokalna zmienna jest zdefiniowana, system nie inicjuje, należy je zainicjować siebie. Po zdefiniowaniu zmienne globalne są automatycznie inicjowane z następującymi wartościami:

数据类型初始化默认值
int 0
char '\0'
float 0
double 0
pointer NULL

Zmienna poprawnie zainicjowany jest to dobra praktyka programowania, w przeciwnym razie program może czasami spowodować nieoczekiwane rezultaty.