[c언어] 함수 포인터와 함수 포인터의 배열 배열을 변경하는 방법

C 언어에서 함수 포인터 및 함수 포인터 배열을 변경하는 방법에 대해 알아보겠습니다.

함수 포인터

#include <stdio.h>

void printMessage(const char *message) {
    printf("%s\n", message);
}

int main() {
    void (*ptr)(const char *); // 함수 포인터 선언
    ptr = &printMessage; // 함수 포인터에 함수 할당
    (*ptr)("Hello, Function Pointer!"); // 함수 포인터 호출
    return 0;
}

위의 예제에서는 함수 포인터를 선언하고, 함수를 가리키도록 설정한 후 호출하는 방법을 보여줍니다.

함수 포인터 배열

#include <stdio.h>

void printMessage1(const char *message) {
    printf("Message 1: %s\n", message);
}

void printMessage2(const char *message) {
    printf("Message 2: %s\n", message);
}

int main() {
    void (*ptrArray[2])(const char *); // 함수 포인터 배열 선언
    ptrArray[0] = &printMessage1; // 함수 포인터 배열에 함수 할당
    ptrArray[1] = &printMessage2; // 함수 포인터 배열에 함수 할당
    (*ptrArray[0])("Hello, Function Pointer Array!"); // 첫 번째 함수 호출
    (*ptrArray[1])("Hello, Function Pointer Array!"); // 두 번째 함수 호출
    return 0;
}

위의 예제는 함수 포인터 배열을 생성하고, 함수를 배열의 원소에 할당한 뒤 각 함수를 호출하는 방법을 보여줍니다.

변경 방법

함수 포인터나 함수 포인터 배열의 값(가리키는 함수)을 변경하려면 해당 값을 새로운 함수로 바꿔주면 됩니다. 함수 포인터에 새로운 함수를 할당하거나, 함수 포인터 배열의 각 요소를 변경해주면 됩니다.

함수 포인터 배열의 경우에는 각 요소에 새로운 함수를 할당하여 변경할 수 있습니다.

이상으로 C 언어에서 함수 포인터와 함수 포인터 배열을 변경하는 방법에 대해 알아보았습니다.

참고 자료