5.1 추상 상태 기계

    C 프로그램은 값을 처리하는 기계라고 볼 수 있다. 프로그램에서 사용하는 변수는 실행 시점마다 특정한 값을 가지는데, 이 값은 복합 표현식의 최종 표현식으로 이어지는 중간값일 수도 있다. 다음과 같은 간단한 예제를 살펴보자.

    double x = 5.0;
    double y = 3.0;
    ...
    x = (x * 1.5) - y;
    printf("x is \%g\n", x);

    이 코드는 xy라는 두 변수를 사용하며 초깃값이 각각 5.03.0이다. 이후 x 값을 계산하는 문장을 보면 다음과 같은 부분 표현식이 나온다.

    (x * 1.5)

    이 시점에서 x 값은 5.0이므로 식을 계산하면 7.5라는 결과가 나온다.

    (5.0 * 1.5)

    이어서 - y 부분을 계산할 때 y3.0이므로 다음과 같이 4.5란 결과가 나온다.

    7.5 - 3.0

    따라서 셋째 줄의 실행 결과는 다음과 같다.

    x = 4.5;

    여기서부터 x의 평가 결과가 4.5이므로 이후 문장은 다음과 같이 실행된다.

    printf("x is \%g\n", 4.5);

    이 문장은 터미널에 텍스트 한 줄을 출력한다.

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