재귀함수는 함수 내에서 자기 자신을 다시 호출하는 함수를 의미한다. 함수가 실행하는 도중 자기 자신의 함수가 호출되면 자기 자신의 복사본을 하나 더 만들어서 복사본을 실행하게 된다.
재귀함수는 한번 호출되면 계속 호출되는 문제가 있기 때문에 재귀를 탈출시키는 조건이 있어야 한다.
#include <stdio.h>
void Recursive(int num)
{
if(num<=0) // 재귀 탈출 조건
return; // 재귀 탈출
printf("Recursive call! %d \n",num);
Recursive(num-1);
}
int main(void)
{
Recursive(3);
return 0;
}
/* output:
Recursive call! 3
Recursive call! 2
Recursive call! 1
*/
'Language > C, C++' 카테고리의 다른 글
[C] 1차원 배열(2) (0) | 2020.12.14 |
---|---|
[C] 1차원 배열(1) (0) | 2020.12.12 |
[C] register 변수 (0) | 2020.12.10 |
[C] static 변수 (0) | 2020.12.10 |
[C] 전역변수 (0) | 2020.12.09 |