함수포인터

Study/C 2014. 8. 27. 17:45




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 (포괄형 포인터)


'Study > C' 카테고리의 다른 글

문자(열) 입출력  (0) 2014.09.01
탐색 알고리즘  (0) 2014.08.30
이중 포인터 예문  (0) 2014.08.27
이중 포인터  (0) 2014.08.27
2차원 배열 (데이터 입력하기)  (0) 2014.08.27
Posted by 차희빈

차희빈

달력