카테고리 없음
함수포인터
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