본문 바로가기
프로그래밍/C++

함수 포인터

by 호군 2010. 11. 11.
반응형

함수 포인터는 함수를 가르키는 포인터입니다. 즉, 함수의 주소를 저장하는 포인터 변수 입니다.
함수 포인터를 선언 할 때는 반환 타입이 무엇인지.. 어떤 매개변수를 갖는 함수인지를 나타내어 선언 합니다.
만약 void Print(char* szMessage) 라는 함수를 가르키기 위해서는 void (*pFunc)(char*) 로 선언하게 되고,
pFunc라는 변수를 사용하여 반환 타입이 void이고, 매개변수로는 char*를 갖는 함수의 주소를 저장 할 수 있습니다.

- 소스 코드

#include <stdio.h>

void
Print(char* szMessage)
{
    printf("%s\n", szMessage);
}

int main(int argc, char* argv[])
{
    void (*pfunc)(char*);

    pfunc = Print;
    pfunc("hello, function pointer~");
    return 0;
}

반응형