C++

무한 재귀 호출(1) - 재귀호출 정의, 무한재귀호출 막는 방법 2가지

영카이브 2022. 7. 3. 21:30
  • 재귀호출이란?

일일히 설정할  다중for문이 많이 필요할 경우 재귀호출을 통해 구현할 수 있다. 

무한재귀호촐은 이러한 재귀호출이 무한으로 일어나는 것을 말한다. 

느리다는 단점이 있으므로 필요할 때 사용하기로 한다. 

 

ex) abc 함수를 무한 호출할 때 

 
* 호출스택을 이용하여 확인하는것도 좋다. 
 
  • 무한재귀호출을 막는법?

특정 조건에서 return; 한다. return을 하게 되면 호출한 장소 다음부터 읽게 된다.

( 트레이스로 확인해보며 감을 익히는게 중요)

 

1. 전역변수를 쓰는 방법. 

 

 
2. argument를 활용한다. 
 
*argument란? ex) abc ( 3, 4, 6 ) argument3, 4, 6을 보낸다라고 말한다.
 
 
옆의 번호는 트레이스 순서다.
*return 에 break point를 걸고 호출스택을 더블클릭 하여 눌러보면 조사식에서 그 당시의 x값을 확인할 수 있다.                                                         1번째 줄엔 x = 2 / 2번째 줄엔 x = 1 / 3번째 줄엔 x = 0 / 4번째 줄엔 x = 0