1.2.4 범위
범위는 변수와 상수의 수명과 가시성을 결정하고 프로그램 구조를 확립하는 데 기여한다.
1.2.4.1 전역 정의
프로그램에서 사용하려는 모든 변수는 사용하기 전에 타입 지정자와 함께 선언해야 한다. 하나의 변수는 전역 범위나 지역 범위에 위치할 수 있다. 전역 변수는 모든 함수의 바깥에 선언한다. 전역 변수를 선언하고 나면 코드 어디에서나, 심지어 함수 안에서도 참조할 수 있다. 변수를 쉽게 사용할 수 있으므로 처음에는 매우 편한 것처럼 보이지만, 소프트웨어의 규모가 커짐에 따라 전역 변수들의 수정 사항을 추적하기가 더 어려워지고 고통스러워진다. 어느 시점이 되면 코드를 변경할 때마다 오류 사태를 촉발하게 되는 잠재력을 지니게 된다.
Caution
전역 변수를 사용하지 마라.
만약 전역 변수를 사용한다면 조만간 후회하게 될 것이다. 우리를 믿어라. 다음과 같은 전역 상수는 사이드 이펙트(Side Effect)가 발생하지 않기 때문에 괜찮다.
const double pi = 3.14159265358979323846264338327950288419716939;