34줄에서 WhoIsFirst 함수를 호출한다 함수에 들어가는 인자들은
age1, age2, OlderFirst함수이다.
Olderfirst 함수는 높은숫자(나이많은)를 리턴해주는 숫자이다. age2가 더 크므로 age2리턴
first=WhoIsFirst(age1, age2, age2)가 되는샘이다
3번줄로 이동하면 포인터함수를 5번줄에서 사용한다.
여기서 포인터함수는 입력된 인가 값으로 이동을 해주는 역활을하며
이 소스에서는 포인터함수와 같이 입력된 age2 변수가 입력인자가 된다.
3번줄에서 입력인자로 age1, age2, age2 가 되었으니
포인터 함수의 입력인자는 age2가 되는셈이다
따라서 5번줄에서 cmp(age1, age2); 의 리턴값은 age2가 되는것이다.
int add(int a, int b)
{
return a+b;
}
int srb(int a, int b)
{
return a-b;
}
int (*fp)(int)(int)
{
fp=add; fp=srb;
return (*fp)(4,3); return= (*fp)(4,3);
}
fp의 주소값에 따라 리턴값이 바뀐다. (함수의 주소값을 저장)
함수포인터 안에 조건문을 통해 리턴값을 제어할수있다.
Void Pointer ?
Generic pointer (포괄형 포인터)