본문으로 바로가기

해커스쿨.Section 8

category Study/system 2017. 11. 2. 20:11


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