반응형
함수 포인터
함수의 주소값을 받아 변수처럼 파라미터에 활용하는 방법이다.
함수타입 (*변수명)(파라미터 타입)
순으로 작성하면 된다. 자세한건 밑의 예제를 보자.
#include <stdio.h>
int Add(int a, int b)
{
return a + b;
}
void AddPrint(int a, int b, int (*Addfunc)(int, int))
{
int sum;
sum = Addfunc(a, b);
printf("합은 : %d\n", sum);
}
void main()
{
int (*pFunc)(int, int) = Add;
int sum = pFunc(1, 2);
printf("sum: %d\n", sum);
AddPrint(2, 3, Add);
AddPrint(3, 4, pFunc);
}
함수를 변수처럼 바로 사용하는 것과 파라미터로 받아서 사용하는 방법을 작성하였다. 주의할 점으로 함수타입과 파라미터형식이 모두 동일해야만 문법적으로 오류가 발생하지 않는다.
함수의 기능에 추가적인 기능을 달고 싶을때 사용할 수 있다. (ex. 위의 AddPrint함수)
반응형
'프로그래밍 언어 > cpp' 카테고리의 다른 글
[C++] 레퍼런스(reference)와 클래스 연산자(operator) (0) | 2023.02.10 |
---|---|
[C++] 클래스 기초와 생성자, 소멸자 (0) | 2023.02.08 |
[C++] void* 보이드 포인터 (0) | 2023.02.08 |
[C++] 상수(const)와 포인터 (0) | 2023.02.08 |
[C++] 정적(static) 변수와 외부(extern) 변수, 분할구현에서의 전역변수 사용 (0) | 2023.02.07 |