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);