재귀함수는 함수 내에서 자기 자신을 다시 호출하는 함수를 의미한다. 함수가 실행하는 도중 자기 자신의 함수가 호출되면 자기 자신의 복사본을 하나 더 만들어서 복사본을 실행하게 된다. 

재귀함수는 한번 호출되면 계속 호출되는 문제가 있기 때문에 재귀를 탈출시키는 조건이 있어야 한다.

#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

+ Recent posts