더북(TheBook)

1.2.4.2 지역 정의

지역 변수는 함수 안에서 선언한다. 지역 변수의 가시성/가용성은 함수 선언부의 { }로 둘러싸인 블록으로 제한한다.

만약 main 함수에서 π를 정의하면,

int main ()
{
    const double pi = 3.14159265358979323846264338327950288419716939;
    std::cout << "pi is " << pi << ".\n"; 
}

변수 π는 main 함수에서만 존재한다. 우리는 함수나 블록 안에 또 다른 블록을 정의할 수 있다.

int main ()
{
    {
        const double pi = 3.14159265358979323846264338327950288419716939;
    }
    std::cout << "pi is " << pi << ".\n"; // 오류: pi는 범위 밖에 있다.
 }

이 예제에서 π의 정의는 함수 안에 있는 블록으로 제한한다. 따라서 함수의 나머지 부분에서 π를 출력하려고 하면 오류가 발생할 것이다.

>>pi<< is not defined in this scope.

왜냐하면 범위 밖에 있기(Out of Scope) 때문이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.