Section 8
함수의 호출과 복귀
다음은 사각형의 넓이를 구하는 함수 코드이다
get_area라는 사용자 정의함수를 만들었다.
이는 main의 x와 y를 인자로 받는다.
main이 먼저 실행되기 때문에 10번라인부터 실행되다가 15번 라인에서 get_area를 호출한다
이 때, 현재 위치로 다시 돌아오기 위해 리턴어드레스를 저장해놓는다.
get_area 함수가 실행된 후 return을 만나 리턴 어드레스를 참조하여 다시 원래의 코드로 돌아온다.
아래는 실행결과를 표로 정리한 모습이다.
main 에서는 높은 주소부터 순서대로 들어가기 때문에
area -> y -> x
순서이다.
함수인자는 반대순서로 들어간다.
x -> y
순서이다.
함수 안에서 선언한 area 변수는 왜인지 함수인자와 멀리 떨어져 있다.
사이에 있는 값을 다음 장에서 알아보자
PS. 함수인자 Y와 main의 area 사이에 있는 공간은 빈 공간이다
'Study > system' 카테고리의 다른 글
해커스쿨.Section 11 (0) | 2017.11.02 |
---|---|
해커스쿨.Section 9 (0) | 2017.11.02 |
해커스쿨.Section 7 (0) | 2017.11.02 |
해커스쿨.Section 6 (0) | 2017.11.02 |
해커스쿨.Section 5 (0) | 2017.11.02 |