[c언어] 함수 포인터와 함수 포인터의 값

프로그래밍에서 함수 포인터는 함수의 메모리 주소를 저장하는 포인터 변수입니다.

함수 포인터 정의

함수 포인터를 정의하는 방법은 일반 변수를 정의하는 방법과 유사합니다. 함수 포인터의 구조는 다음과 같습니다.

int (*funcPtr)(int, int);

위의 예시에서 funcPtr은 정수를 반환하고 두 개의 정수를 매개변수로 갖는 함수를 가리킬 수 있는 함수 포인터입니다.

함수 포인터의 값 할당

함수 포인터에 함수의 주소를 할당할 때는 함수의 이름만으로 주소를 가져올 수 있습니다. 함수 포인터에 함수 주소를 할당하는 예시는 다음과 같습니다.

int add(int a, int b) {
    return a + b;
}

int main() {
    int (*funcPtr)(int, int);
    funcPtr = &add;  // 또는 funcPtr = add;

    int result = funcPtr(3, 5);  // result는 8이 됩니다.
    return 0;
}

위의 예시에서 funcPtradd 함수를 가리키고 있으며, 이를 통해 add 함수를 호출하여 result는 8이 됩니다.

함수 포인터는 주로 콜백 함수 또는 다형성과 관련된 기술에서 사용됩니다. 함수 포인터를 이용하여 런타임에 다양한 함수를 가리키도록 할 수 있으므로 유연한 프로그래밍이 가능해집니다.

자세한 내용은 C 프로그래밍 언어 관련 문서를 참고하시기 바랍니다.