[c언어] 함수 포인터와 함수 포인터의 배열 예제

이 예제에서는 C 언어에서 함수 포인터함수 포인터의 배열을 사용하는 방법을 살펴보겠습니다.

함수 포인터

함수 포인터는 함수의 주소를 저장하는 포인터입니다. 함수를 가리키는 포인터로, 함수 포인터를 사용하여 함수를 간접적으로 호출할 수 있습니다.

아래는 함수 포인터를 선언하고 사용하는 간단한 예제입니다.

#include <stdio.h>

// 더하기 함수
int add(int a, int b) {
    return a + b;
}

// 뺄셈 함수
int subtract(int a, int b) {
    return a - b;
}

int main() {
    int (*operation)(int, int); // 함수 포인터 선얫
    operation = add;             // 더하기 함수를 가리키도록 설정
    printf("%d\n", operation(5, 3)); // 함수 포인터를 통해 더하기 함수 호출

    operation = subtract;        // 뺄셈 함수를 가리키도록 설정
    printf("%d\n", operation(5, 3)); // 함수 포인터를 통해 뺄셈 함수 호출

    return 0;
}

위 코드에서 operation은 함수 포인터로, add 함수와 subtract 함수를 가리키도록 설정한 후에 각각을 호출합니다.

함수 포인터의 배열

함수 포인터의 배열은 함수 포인터를 원소로 갖는 배열입니다. 아래는 함수 포인터의 배열을 사용하는 간단한 예제입니다.

#include <stdio.h>

// 더하기 함수
int add(int a, int b) {
    return a + b;
}

// 뺄셈 함수
int subtract(int a, int b) {
    return a - b;
}

int main() {
    int (*operations[2])(int, int) = {add, subtract}; // 함수 포인터의 배열 선언 및 초기화
    for (int i = 0; i < 2; i++) {
        printf("%d\n", operations[i](5, 3)); // 함수 포인터를 통해 함수 호출
    }

    return 0;
}

위 코드에서 operations는 함수 포인터의 배열로, add 함수와 subtract 함수를 원소로 가지고 있습니다. 이후 반복문을 통해 각 함수를 호출합니다.

이렇게 함수 포인터함수 포인터의 배열을 사용하면 코드의 유지보수성을 향상시키고, 유연한 프로그래밍이 가능해집니다.

결론

이번 예제에서는 C 언어에서 함수 포인터와 함수 포인터의 배열을 사용하는 방법에 대해 살펴보았습니다. 함수 포인터를 통해 함수를 간접적으로 호출하고, 함수 포인터의 배열을 사용하여 여러 함수들을 관리할 수 있습니다.

더 많은 정보를 원하시면 아래 레퍼런스를 참고하세요.

레퍼런스