Function Trace

함수 호출 추적

인수 전달, 지역변수, return, static, 재귀 종료 조건을 순서대로 확인하면 출력 계산이 안정된다.

main

호출 지점

대입문의 오른쪽에서 함수 호출을 만나면 함수 정의로 이동한다.

arg

인수 복사

값에 의한 전달은 원본이 아니라 복사본이 매개변수에 들어간다.

local

지역변수

함수 안 변수는 함수 밖 변수와 이름이 같아도 별도 공간이다.

return

결과 복귀

return 값을 호출한 자리로 가져와 대입이나 출력에 사용한다.

again

재귀와 static

재귀는 종료 조건, static은 호출 사이에 유지되는 값을 먼저 표시한다.

원본 변경? 포인터가 아니면 대개 원본 변수는 바뀌지 않는다.

출력 시점: printf가 함수 안인지 main 안인지 구분한다.

재귀가장 안쪽 종료 조건부터 되돌아오며 계산한다.