[ C언어: 함수 포인터(function pointer) ]


[ C언어: 함수 포인터(function pointer) ]

포인터는 변수뿐만 아니라 함수도 가리킬 수 있다. 함수 포인터(function pointer) 일반적인 포인터는 변수가 저장되어 있는 주소를 가리키지만 함수 포인터는 함수가 시작되는 주소를 가리킨다. 함수 포인터 선언 int (*pf)(int, int); 포인터 함수와 함수 호출에 필요한 인수, 반환형도 함께 알려줘야 한다. - 괄호에 의해 () 연산자보다 *연산자가 먼저 적용되어 pf는 포인터가 된다. - int pf(int, int) 함수를 가리키는 포인터가 된다. ※ 우선순위에 의해 괄호로 우선 포인터를 만들어야 한다. 괄호가 없다면 int *pf(int, int)와 같이 정수형 포인터를 반환하는 pf 함수가 되어 완전히 다른 의미가 된다. 이렇게 선언된 함수 포인터는 반환형, 매개 변수가 정확히 일치하는 함수만 가리킬 수 있다. int sub(int, int); // 함수 원형 정의 int (*pf)(int, int); // 함수 포인터 정의 … pf = sub; // 함...


#c언어 #매개변수 #반환형 #함수포인터 #함수포인터배열

원문링크 : [ C언어: 함수 포인터(function pointer) ]