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

함수 포인터와 함수 포인터 배열은 C 언어에서 매우 유용합니다. 이들을 배열로 사용할 때, 함수 포인터의 배열을 참조하는 배열로 변경하는 방법에 대해 설명하겠습니다.

함수 포인터의 배열 선언

우선, 함수 포인터의 배열을 선언합니다. 예를 들어, int를 반환하는 인수가 없는 함수를 가리키는 함수 포인터의 배열을 다음과 같이 선언할 수 있습니다.

int (*funcPtrArray[5])();

위의 예제에서는 5개의 함수 포인터를 가지는 배열 funcPtrArray를 선언하였습니다.

함수 포인터 배열의 참조 값을 배열로 변경

이제 변수나 상수로 초기화된 함수 포인터의 배열을 선언하고, 이를 배열로 변경해보겠습니다.

int function1();
int function2();
int function3();

int (*funcPtrArray[3])() = {function1, function2, function3};

위의 예제에서는 함수 포인터 배열 funcPtrArray를 초기화하였습니다. 배열 arr에 함수 포인터 배열 funcPtrArray의 각 요소를 참조하는 포인터를 저장하려면 다음과 같이 할 수 있습니다.

int (*arr[3])() = {funcPtrArray[0], funcPtrArray[1], funcPtrArray[2]};

이제 arr 배열은 funcPtrArray의 각 요소를 참조하고 있습니다.

이러한 방식으로, 함수 포인터의 배열을 다른 배열의 요소로 참조하는 배열로 변경할 수 있습니다.

이를 통해 C 언어에서 함수 포인터와 배열을 유연하게 활용할 수 있습니다.