산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C++ 재귀 함수 마스터하기: 개념, 예제, 모범 사례

C++ 재귀 함수 마스터하기

이 튜토리얼에서는 C++ 재귀 함수를 탐구하고, 어떻게 동작하는지 이해하며, 실전 예제를 통해 활용법을 배웁니다.

자기 자신을 호출하는 함수를 재귀 함수(Recursive Function)라 합니다. 이 강력한 기법을 재귀(Recursion)라고 부릅니다.


C++에서 재귀가 동작하는 원리

void recurse()
{
    // 재귀 전 코드
    recurse(); // 재귀 호출
    // 재귀 후 코드
}

int main()
{
    // 설정 코드
    recurse();
    // 정리 코드
}

아래 그림은 재귀의 반복적 자기 호출 특성을 보여줍니다.

C++ 재귀 함수 마스터하기: 개념, 예제, 모범 사례

재귀는 **기저 조건(Base Condition)**이 만족될 때까지 계속됩니다.

무한 재귀를 막으려면 조건문(예: if…else)으로 재귀 호출을 수행할 분기 하나만 두어야 합니다.


예제 1: 팩토리얼 재귀 계산

// n! = 1 × 2 × … × n 계산
#include <iostream>
using namespace std;

int factorial(int);

int main()
{
    int n, result;
    cout << "Enter a non-negative number: ";
    cin >> n;
    result = factorial(n);
    cout << "Factorial of " << n << " = " << result;
    return 0;
}

int factorial(int n)
{
    if (n > 1)
        return n * factorial(n - 1);
    else
        return 1;
}

실행 결과

Enter a non-negative number: 4
Factorial of 4 = 24

팩토리얼 프로그램 동작 원리

C++ 재귀 함수 마스터하기: 개념, 예제, 모범 사례

factorial() 함수는 자기 자신을 반복 호출하며 매번 n을 1씩 줄입니다. n이 1 이하로 떨어지면 1을 반환하고, 재귀가 풀리면서 최종 결과가 계산됩니다.


C++에서 재귀 사용의 장단점

재귀의 주요 장점과 단점:


장점


단점


재귀를 언제, 어떻게 쓸지 이해하면 일반적인 함정을 피하면서 더 깔끔하고 유지보수하기 좋은 C++ 코드를 작성할 수 있습니다.

C 언어

  1. C++ 연산자 마스터하기: 유형별 완벽 가이드와 실전 예제
  2. C++ 주석: 가독성 높고 유지보수하기 좋은 코드 작성법
  3. C 언어 재귀 마스터하기: 모범 사례와 종료 조건
  4. C++ 프로그래밍 언어: 개요와 핵심 특징
  5. C++ 상수와 리터럴 완전 정복: 타입, 문법, 모범 사례
  6. C++ 연산자 종합 가이드: 종류, 사용법, 우선순위
  7. C++ 숫자 타입 마스터하기: 실전 가이드
  8. C++ 참조(Reference) 핵심 개념과 포인터와의 차이점
  9. C++ 템플릿 마스터하기: 제네릭 프로그래밍 가이드
  10. C++ 전처리기: 지시자가 코드를 어떻게 형성하는가