[c언어] 함수 포인터와 함수 포인터의 배열 참조

프로그래밍에서 함수 포인터는 함수의 주소를 저장하는 변수입니다. 함수 포인터 배열은 이러한 함수 포인터들의 배열로, 각 함수 포인터는 배열의 요소로써 저장됩니다. 이번 글에서는 C 언어에서 함수 포인터와 함수 포인터 배열에 대해 자세히 알아보겠습니다.

함수 포인터

함수 포인터는 다른 함수에 대한 참조를 저장하는 데 사용됩니다. 예를 들어, 다음과 같이 선언됩니다.

int (*funcPtr)(int, int);

위의 예시에서 funcPtrint형을 반환하고 int형 두 개의 매개변수를 가지는 함수를 가리키는 함수 포인터입니다. 이러한 함수 포인터를 사용하면 런타임에 다양한 함수를 호출할 수 있습니다.

함수 포인터를 사용하여 함수를 호출하려면 포인터에 함수의 주소를 할당한 후 해당 포인터를 호출합니다.

int add(int a, int b) {
    return a + b;
}

int main() {
    int (*funcPtr)(int, int);
    funcPtr = add;

    int result = funcPtr(3, 5);
    printf("Result: %d", result);

    return 0;
}

위의 예시에서 funcPtradd 함수에 할당한 후 funcPtr을 사용하여 add 함수를 호출하고 있습니다.

함수 포인터 배열

함수 포인터 배열은 여러 함수 포인터를 포함하는 배열입니다. 각 요소는 함수 포인터를 가리키며, 해당 함수의 시그니처와 일치해야 합니다. 예를 들어, 다음과 같이 선언됩니다.

int (*funcArr[3])(int, int);

위의 예시에서 funcArr은 세 개의 요소를 가지는 함수 포인터 배열로 선언되었습니다. 이러한 배열을 사용하여 다양한 함수를 참조하거나 호출할 수 있습니다.

함수 포인터 배열을 사용하면 함수 포인터를 동적으로 선택할 수 있는 유연성을 제공합니다.

이제 함수 포인터와 함수 포인터 배열에 대해 간단히 알아보았는데, 여기서 사용되는 개념과 구문은 C 언어에서 적용됩니다. 이를 참조하여 자신만의 프로그래밍 논리를 구성하실 수 있습니다.

참조