더북(TheBook)

main() 함수에서 두 번째 bell() 함수가 호출되어 bell() 함수로 제어가 넘어가면 정적 변수 order를 선언하는 명령문을 다시 만나지만, 정적 변수는 단 한 번만 생성되고 초기화된다는 특징이 있습니다. 그래서 두 번째 bell() 함수 호출에서는 를 수행하지 않고 넘어갑니다. 그 다음 줄에서 바로 order 값이 하나 증가하고 마찬가지로 order 변수의 메모리를 반환하지 않은 채 다시 main() 함수로 제어가 넘어갑니다. 그러므로 우리가 원하는 바와 같이 bell() 함수를 호출할 때마다 , , 이 차례대로 출력됩니다.

그림 3-23 | bell( ) 함수로 보는 정적 변수의 동작 원리

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