C++ 변수 범위


범위는 프로그램의 영역입니다. 일반적으로 변수를 선언할 수 있는 위치는 세 가지입니다.

  • 함수나 코드 블록 내에서 선언된 변수를 지역 변수라고 합니다.

  • 함수 매개변수 정의에서 선언된 변수를 형식 매개변수라고 합니다.

  • 모든 함수 외부에서 선언된 변수를 전역 변수라고 합니다.

다음 장에서는 어떤 기능과 매개변수가 있는지 알아보겠습니다. 이번 장에서는 먼저 지역변수와 전역변수의 선언에 대해 설명한다.

지역 변수

함수나 코드 블록 내에서 선언된 변수를 지역 변수라고 합니다. 함수나 코드 블록 내부의 명령문에서만 사용할 수 있습니다. 다음 예에서는 지역 변수를 사용합니다.

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

전역 변수

모든 함수 외부(보통 프로그램의 선두에 있음)에 정의된 변수를 전역 변수라고 합니다. 전역 변수의 값은 프로그램의 수명 주기 동안 유효합니다.

전역 변수는 모든 함수에서 액세스할 수 있습니다. 즉, 전역 변수는 한번 선언되면 전체 프로그램에서 사용할 수 있습니다. 다음 예에서는 전역 변수와 지역 변수를 사용합니다.

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

프로그램에서 지역 변수와 전역 변수의 이름은 동일할 수 있지만 함수 내에서는 지역 변수의 값이 전역 변수의 값보다 우선합니다. 예는 다음과 같습니다.

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

위 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다.

10

지역 변수 및 전역 변수 초기화

지역 변수가 정의되면 시스템은 이를 초기화하지 않습니다. 직접 초기화해야 합니다. 전역 변수를 정의하면 시스템은 이를 자동으로 다음 값으로 초기화합니다.

데이터 유형초기화 기본값
int0
char'