Q 4.12 함수를 호출할 때, 포인터를 써서 호출하는 방식을 봤습니다. 왜 이런 일을 하는 거죠? Answer 원래, 함수를 가리키는 포인터는 * 연산자를 쓸 경우 (그리고 우선 순위를 위해 괄호를 같이 쓸 경우) 진짜(real) 함수 호출로 변경됩니다: int r, func(), (*fp)() = func; r = (*fp)(); 위 코드의 마지막 줄의 의미는 다음과 같습니다: fp는 함수를 가리키는 포 인터이고, *fp는 이 함수를 뜻합니다. 그리고 뒤따르는 ()는 함수 호출에 서 쓰이는 인자를 받는 인자 list입니다. 이때 연산자 우선 순위를 고려해서 *fp를 괄호로 둘러쌉니다. 이러면 완벽한 함수 호출이 됩니다. 다음과 같은 이론도 있습니다: 함수는 항상 포인터를 써서 불려지고, 수식 에서 “..