안녕하세요.
배열의 이름이 배열의 시작 주소를 가리키듯,
함수의 이름은 함수의 주소를 가리킵니다.
그것만 알면 간단한 거죠.
다음과 같은 예제는 함수 포인터를 이용한 더 간단한 예제죠.
<pre>
#include < stdio.h >
int func(int a) {
return a;
}
int main(void) {
// 함수 포인터 변수 생성.
int (*p_func)(int) = func;
// 함수 포인터를 이용한 호출 테스트.
printf("%d", (*p_func)(32));
return 0;
}
</pre>
: 오늘 질문을 드릴 것은 Function Pointer를 Function Argument로
:
: 사용하는 방법에 관한 것입니다...
:
:
: 일단, 다음과 같은 Function Definition가 있습니다...
:
: void interface_func(int a, void (*func)(int x))
: {
: ...
:
: ...
:
: func(a);
: ...
: ...
: }
:
: 위 Function을 사용하려면 func에 해당하는 Function의 pointer를
:
: 전달해 줘야 합니다...
:
: 그런데, 이걸 main에서 어떻게 호출해야 할 지 모르겠습니다...
:
: 위와 같은 형식은 Algorithm 책에 상당히 많이 나오는 방법이라서
:
: 꼭 알아야 하는데, 책에는 main code는 하나도 나오지 않아서
:
: 정작 어떻게 사용해야 하는 지를 알 수가 없습니다...
:
:
: 혹시 아시는 분들은 main에서 위 Function을 호출할 때 어떻게 해야
:
: 하는 지 알려 주시면 감사하겠습니다...