프로그래밍과 잡담

[C언어] 재귀 함수 본문

프로그래밍/C,C++, Win32Api

[C언어] 재귀 함수

크레온 2009. 3. 14. 14:04
재귀 함수란?

자기 자신을 자기가 호출을 하는걸 보고 재귀 함수한다.

예제)

void t( )          
{                   
     t();                    
}                           

예제와 같은 형태를 가진 함수를 보고 재귀함수한다.

물론 저렇게 실행하면 무한루프에 빠져서 컴이 에러난다.

재귀함수를 사용할때는  함수의 끝나는 조건을 잘 써야한다.

종료 조건을 제대로 안하면 무한 루프에 빠져서 프로그램이 멈춘다.

재귀 함수의 장점은 함수가 간략해 진다는 장점이 있는데

단점은 햇갈린다. 자기가 자신을 호출하다보니 햇갈리는 문제가 생긴다.


예제)
int power(int  i,  int  n)           
{                                     
    if( n == 1)                        
        return i;                 
    else
        return power(i*2,n-1);
}

위에 예제는 2^n 을 하는 재귀 함수이다.
재귀함수는 상당히 보기가 짜증나기 때문에 공책을 준비 하고
그리면서 하는게 좋다.

함수는 끝이 나면 자기를 부른곳으로 돌아간다.




끝.... 계속 하다보면 이해가 간다..

반응형

'프로그래밍 > C,C++, Win32Api' 카테고리의 다른 글

[C언어] 함수 포인터  (0) 2009.07.09
[C++] 오버로딩(overloading), 오버라이딩(overriding)  (0) 2009.03.31
[C언어] 기초 8  (0) 2009.03.14
[C언어] 기초 7-1  (0) 2009.03.14
[C언어] 기초 7  (0) 2009.03.14
Comments