함수 포인터
함수의 이름은 메모리상에 저장된 함수의 주소값을 의미한다. 함수포인터를 이용하면 다른함수에 함수를 인자로 전달할 수 있다.
함수 포인터의 선언
int SimpleFunc(int num); // 반환형이 int 이고 int형 매개변수를 1개 가지고있는 함수
int (*fptr) (int); // 반환형이 int 이고, int 형 매개변수 1개를 가지고있는 함수의 주소값을 저장할 수 있는 함수 포인터
fptr = SimpleFunc; // fptr 포인터 함수에 같은 매개변수형태와 반환형을 가지고있는 SimpleFunc 함수의 주소값을 저장
fptr(1) // fptr 포인터함수를 이용해 SimpleFunc 함수 호출 , SimpleFunc(1) 과 동일한결과를 보임
int simple (int. int ( *fptr)( int ) ){ ,,} // 함수를 인자로 받는 함수 선언
simple(1 , simpleFunc); // 함수인자 전달
'형(TYPE )' 이 존재하지 않는 void 포인터
void * ptr;
void 형 포인터에는 어떤 변수의 주소값이든 담을 수 있다 . 함수의 주소값도 포함해서.
하지만 void형 포인터로는 어떠한 연산도 할 수 없다. 따라서 주소값의 저장에만 의의를 두고 , 포인터형은 나중에 결정하고싶을때 사용한다.
'C언어 > 열혈C' 카테고리의 다른 글
C : Chapter -18 구조체와 사용자 정의 자료형 (0) | 2018.03.27 |
---|---|
C : Chapter-17 문자와 문자열 관련 함수 (0) | 2018.03.27 |
C : Chapter -15 다차원 배열과 포인터 (0) | 2018.03.25 |
C : Chapter -14 이중 포인터 (0) | 2018.03.23 |
C : Chapter -13 다차원 배열 (0) | 2018.03.23 |