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

C 언어에서는 함수 포인터를 사용하여 함수를 가리키는 포인터를 만들고 사용할 수 있습니다. 또한, 이러한 함수 포인터를 포함하는 배열을 만들 수도 있습니다. 이를 통해 다양한 함수를 쉽게 관리하고 사용할 수 있습니다.

함수 포인터 활용

함수 포인터를 사용하면 동적으로 함수를 호출할 수 있습니다. 예를 들어, 다음과 같이 정수를 매개변수로 받고 정수를 반환하는 함수를 가리키는 함수 포인터를 선언할 수 있습니다.

int (*funcPtr)(int);

이제 이 함수 포인터에 적절한 함수를 가리키도록 설정하고 호출할 수 있습니다.

int addOne(int x) {
    return x + 1;
}

funcPtr = &addOne; // 함수 포인터에 addOne 함수를 가리킴
int result = (*funcPtr)(5); // addOne 함수를 호출하여 결과를 저장

이러한 기능을 사용하면 프로그램 실행 중에 필요한 함수를 동적으로 선택하여 호출할 수 있습니다.

함수 포인터 배열 활용

함수 포인터를 포함하는 배열을 사용하면 여러 함수를 배열에 모아서 관리할 수 있습니다. 예를 들어, 아래와 같이 여러 함수를 가리키는 함수 포인터 배열을 선언할 수 있습니다.

int (*funcArray[3])(int);

이제 이 배열에 각각의 함수 포인터를 설정하여 사용할 수 있습니다.

funcArray[0] = &addOne;
funcArray[1] = &subtractOne;
funcArray[2] = &multiplyByTwo;

int result1 = (*funcArray[0])(5); // addOne 함수를 호출하여 결과를 저장
int result2 = (*funcArray[1])(5); // subtractOne 함수를 호출하여 결과를 저장
int result3 = (*funcArray[2])(5); // multiplyByTwo 함수를 호출하여 결과를 저장

이렇게 함수 포인터 배열을 사용하면 여러 함수를 쉽게 관리하고 호출할 수 있습니다.

함수 포인터와 함수 포인터 배열을 사용하면 유연하고 효율적으로 함수를 다룰 수 있습니다. 이를 통해 코드의 재사용성을 높이고 가독성을 개선할 수 있습니다.

참고 자료