2010-01-18 4 views
0

일반 함수와 함수 포인터의 차이점은 무엇입니까? 내가 아는 한 가지는 소프트웨어 스택에서 라이브러리를 사용하고있는 경우입니다. 은 함수 포인터 만 제공하므로 나중에 포인터를 입력하면됩니다.함수 포인터 및 일반 함수

+0

이 질문이 C 언어와 관련 있다고 가정합니다. – hlovdal

+0

예 C lang을위한 것입니다 – Sikandar

답변

1

함수 포인터는 일반적인 함수에 대한 포인터입니다. 다른 포인터와 같이 전달 될 수 있으며 포인터가 작성된 위치가 아닌 다른 곳에서 호출 될 수 있습니다.

+0

그래도 다른 차이가 있을지도 모릅니다. – Sikandar

2

함수 포인터를 통해 함수를 호출하면 호출을 인라인 할 수 없음을 의미합니다. 경우에 따라 성능 저하가 발생할 수 있습니다. 함수 포인터를 선언

로서 흔히 다른 부분으로서 사용되지 않은 단순 구문 요구 (각각의 비교를 위해 예를 들어, C의 qsort()는 비교가 ++의 sort()는 비교 인라인 할 수있는이. C, 함수 포인터 거치지) 근원을 읽을 때 대부분의 경우 "정신적 인 속도 위반"이 발생합니다. 그 이유는 대개 typedef'ed입니다.