/ C, PROGRAMMING

C언어: 함수 포인터

함수 포인터 정의

함수 prototype이

int sub(int, int);

일 때

해당 입출력 타입을 갖는 함수에 대한 포인터:

int (*pf)(int, int);

-> 이때 pf 주변의 괄호는 필요하다. 안 그러면 int* 형을 리턴하는 함수로 보일 수 있다.

대입: pf = sub;

  • C에서는 괄호 없이 함수 이름만 쓰면 해당 함수의 포인터로 취급된다.

  • 함수 대신 함수 포인터명으로 호출 가능

    • pf(a,b); 가능

    • (*pf)(a,b); 가능

함수 포인터를 argument로 사용

double integrate(double (*f)(double), double a, double b);
double integrate(double f(double), double a, double b);