[c] 함수 포인터

함수 포인터의 선언

함수 포인터를 선언하는 방법은 다음과 같습니다.

반환타입 (*포인터이름)(매개변수타입1, 매개변수타입2, ...);

여기서 반환타입은 함수가 반환하는 값의 타입을, 포인터이름은 함수 포인터의 이름을, 매개변수타입1, 매개변수타입2, ...은 함수의 매개변수 타입들을 나타냅니다.

예를 들어, int를 반환하는 매개변수가 없는 함수를 가리키는 포인터는 다음과 같이 선언할 수 있습니다.

int (*ptr)();

함수 포인터의 사용

함수 포인터를 사용하여 함수를 호출하려면 함수명 대신 함수 포인터를 사용합니다.

int sayHello() {
    printf("Hello, World!\n");
    return 0;
}

int main() {
    int (*ptr)();
    ptr = sayHello;  // 함수의 주소를 포인터에 할당
    ptr();  // 함수 포인터를 사용하여 함수 호출
    return 0;
}

함수 포인터의 활용

함수 포인터는 특히 콜백 함수를 구현하거나, 동적으로 함수를 선택할 때 유용합니다. 또한 함수 포인터 배열을 사용하여 다양한 함수 중에서 선택적으로 호출하는 것도 가능합니다.

함수 포인터는 C 프로그래밍에서 강력한 기능을 제공하며, 유연한 프로그램을 작성하는 데 도움이 됩니다.

이상으로 함수 포인터에 대한 간단한 설명을 마칩니다.

참고 문헌: