main() 함수에서 bell() 함수가 호출되면 bell() 함수로 제어가 넘어갑니다. bell() 함수 안에서는 정수형 변수 order를 선언하고 0으로 초기화합니다. 그리고 order 값을 하나 증가시켜 order 값이 1이 되고 이 값이 출력된 것이지요.
bell() 함수 수행이 끝나고 main() 함수로 다시 제어가 넘어갈 때 bell() 함수에서 사용했던 order 변수를 위한 메모리는 시스템에 반환됩니다. 즉, order 변수는 bell() 함수 안에서만 사용되는 지역 변수입니다.
다시 bell() 함수가 호출된다 하더라도 order는 호출될 때마다 지역 변수로 선언되고 생성되어 0으로 초기화되고 1이 증가되는 과정을 반복할 것입니다. 그렇다면 우리가 원하는 대로 다음과 같은 결과가 나오려면 어떻게 해야 할까요?
실행 결과
현재 주문 번호는 1입니다.
현재 주문 번호는 2입니다.
현재 주문 번호는 3입니다.