[c언어] 함수 포인터와 함수 포인터의 배열을 사용한 예시

함수 포인터는 C 언어에서 매우 유용하게 활용되는 기능 중 하나입니다. 함수 포인터를 사용하면 런타임 시에 함수를 동적으로 호출할 수 있습니다. 또한, 함수 포인터의 배열을 사용하면 여러 함수 중 하나를 선택해서 호출할 수 있습니다.

#include <stdio.h>

// 함수 포인터를 이용한 간단한 계산 함수들
int add(int a, int b) { return a + b; }
int subtract(int a, int b) { return a - b; }
int multiply(int a, int b) { return a * b; }
int divide(int a, int b) { return b != 0 ? a / b : 0; }

int main() {
    // 함수 포인터 배열 생성
    int (*calculator[4])(int, int) = {add, subtract, multiply, divide};

    int choice = 0;
    int num1 = 10;
    int num2 = 5;

    printf("0: 덧셈, 1: 뺄셈, 2: 곱셈, 3: 나눗셈\n");
    printf("원하는 연산을 선택하세요: ");
    scanf("%d", &choice);

    if (choice >= 0 && choice < 4) {
        int result = calculator[choice](num1, num2);
        printf("결과: %d\n", result);
    } else {
        printf("올바르지 않은 선택입니다.\n");
    }

    return 0;
}

이 예제에서는 add, subtract, multiply, divide 네 개의 함수 포인터를 배열에 저장하여 동적으로 호출하는 방법을 보여줍니다. 사용자가 선택한 연산에 해당하는 함수를 호출하고 결과를 출력합니다.

함수 포인터와 함수 포인터의 배열은 C 언어에서 함수 포인터를 활용하는 방법을 이해하고 실제 프로그램에서 유용하게 활용할 수 있도록 도와줍니다.

더 많은 정보를 원하시면 “C 언어 함수 포인터”에 대해 검색해보시기 바랍니다.