본문 바로가기
프로그래밍 언어/cpp

[C++] 함수 포인터

by TyT. 2023. 2. 8.
반응형

함수 포인터

함수의 주소값을 받아 변수처럼 파라미터에 활용하는 방법이다.

함수타입 (*변수명)(파라미터 타입)

순으로 작성하면 된다. 자세한건 밑의 예제를 보자.

 

#include <stdio.h>

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

void AddPrint(int a, int b, int (*Addfunc)(int, int))
{
    int sum;
    sum = Addfunc(a, b);

    printf("합은 : %d\n", sum);
}

void main()
{
    int (*pFunc)(int, int) = Add;

    int sum = pFunc(1, 2);

    printf("sum: %d\n", sum);
    AddPrint(2, 3, Add);
    AddPrint(3, 4, pFunc);
}

 

함수를 변수처럼 바로 사용하는 것과 파라미터로 받아서 사용하는 방법을 작성하였다. 주의할 점으로 함수타입과 파라미터형식이 모두 동일해야만 문법적으로 오류가 발생하지 않는다.

 

함수의 기능에 추가적인 기능을 달고 싶을때 사용할 수 있다. (ex. 위의 AddPrint함수)

반응형