카테고리 없음

함수포인터

parkrams 2024. 1. 31. 18:50
728x90

함수포인터

  • 함수포인터 : 함수를 저장하는 변수 ( 8byte )
void doNothing(char c) {

}

int doSomething(double d1, double d2) {

    return 1;
}

void dummy(char c) {


}

포인터를 선언할 때 리턴타입 부터 써준다.

포인터의 이름을 *ptr 로 정하는데 포인터의 이름을 정할 때는 반드시 (*ptr) 괄호를 친 후 지정해야 한다.
void (*ptr)(char); - 리턴타입이 void 고 인수가 char
ptr = doNothing; - doNothing을 ptr에 저장해준다는건 -> doNothing의 주소를 ptr에 넣겠다 라는 뜻
즉 ptr 이 doNothing의 주소를 가리키게 된다.

doNothing('a').isEquals(ptr('a'));

int(*p) (double, double);

p = doSomething;

doSomething(3.5, 4.5) ==

함수를 호출할 때는 함수이름과 인수로 호출을 하는데,

함수 이름만 쓸경우 함수의 주소를 알 수 있다.

함수 이름 = 함수의 주소 = 포인터 = 함수의 주소를 저장

함수의 이름만 쓰면 함수의 시작 주소를 가리키는 포인터

728x90