[c언어] 함수 포인터와 함수 포인터의 포인터 배열
이번에는 C 언어에서 함수 포인터와 함수 포인터의 포인터 배열에 대해 알아보겠습니다.
함수 포인터
함수 포인터는 함수의 주소를 저장하는 포인터입니다. C 언어에서 함수는 코드의 시작 주소로 해석될 수 있기 때문에 함수 포인터를 사용하여 함수를 가리킬 수 있습니다.
예를 들어, 두 정수를 매개변수로 받아 더하는 함수 add
가 있다면, 해당 함수를 가리키는 함수 포인터를 다음과 같이 선언할 수 있습니다.
int (*funcPtr)(int, int);
funcPtr = &add;
위의 예제에서 funcPtr
은 add
함수의 주소를 가리킵니다.
함수 포인터의 포인터 배열
함수 포인터의 배열을 선언하는 것 외에도, 함수 포인터의 포인터 배열을 선언할 수 있습니다. 이는 함수 포인터가 저장된 배열의 주소를 가리키는 포인터 배열입니다.
다음은 함수 포인터의 포인터 배열을 선언하는 예제입니다.
void (*funcPtrArray[3])(int, int);
void (**funcPtrArrayPtr)[] = &funcPtrArray;
위의 예제에서 funcPtrArray
는 함수 포인터를 저장하는 배열이며, funcPtrArrayPtr
은 funcPtrArray
의 주소를 가리킵니다.
이러한 함수 포인터의 포인터 배열을 활용하면 유연한 코드 구조를 구성할 수 있습니다.
이상으로 함수 포인터와 함수 포인터의 포인터 배열에 대한 간단한 소개였습니다. 함수 포인터 및 해당 포인터 배열을 사용하면 C 언어에서 코드의 유연성을 높일 수 있습니다.