✅ 목표 (Goal)

복잡한 함수 포인터를 구경해보자.

✅ 도전! 아래 함수를 해석해보자.

대체 어디서 부터 어떻게 읽어야 할지 감도 안잡힌다. ㅋㅋ

char (*func(char **buf, char *(*strf[9])(void), int *pi))(unsigned short,unsigned (**)(const char *));

문자형 이중 포인터 buf를 첫 번째 인수로 취하고,

인수가 없으며 문자형 포인터를 리턴하는 함수를 포인트 하는 크기 9의 함수 포인터 배열을 두 번째 인수로 취하고,

정수형 포인터를 세 번째 인수로 취하며,

부호없는 16비트 정수를 첫 번째 인수로 취하며,

문자형 상수 지시 포인터를 인수로 취하고 부호없는 정수를 리턴하는 함수의 이중 포인터를 두 번째 인수로 취하며 문자형을 리턴하는 함수를 포인트하는 함수 포인터를 리턴하는 함수 func을 선언한다.