[c언어] 함수 포인터와 함수 포인터의 값
프로그래밍에서 함수 포인터는 함수의 메모리 주소를 저장하는 포인터 변수입니다.
함수 포인터 정의
함수 포인터를 정의하는 방법은 일반 변수를 정의하는 방법과 유사합니다. 함수 포인터의 구조는 다음과 같습니다.
int (*funcPtr)(int, int);
위의 예시에서 funcPtr
은 정수를 반환하고 두 개의 정수를 매개변수로 갖는 함수를 가리킬 수 있는 함수 포인터입니다.
함수 포인터의 값 할당
함수 포인터에 함수의 주소를 할당할 때는 함수의 이름만으로 주소를 가져올 수 있습니다. 함수 포인터에 함수 주소를 할당하는 예시는 다음과 같습니다.
int add(int a, int b) {
return a + b;
}
int main() {
int (*funcPtr)(int, int);
funcPtr = &add; // 또는 funcPtr = add;
int result = funcPtr(3, 5); // result는 8이 됩니다.
return 0;
}
위의 예시에서 funcPtr
은 add
함수를 가리키고 있으며, 이를 통해 add
함수를 호출하여 result
는 8이 됩니다.
함수 포인터는 주로 콜백 함수 또는 다형성과 관련된 기술에서 사용됩니다. 함수 포인터를 이용하여 런타임에 다양한 함수를 가리키도록 할 수 있으므로 유연한 프로그래밍이 가능해집니다.
자세한 내용은 C 프로그래밍 언어 관련 문서를 참고하시기 바랍니다.