[c언어] 함수 포인터의 활용 예시
함수 포인터는 C 언어에서 매우 유용하게 활용될 수 있습니다. 함수 포인터를 사용하여 함수를 동적으로 호출하거나 함수를 다른 함수의 매개변수로 전달할 수 있습니다. 이를 통해 코드의 재사용성을 높이고 유연성을 확보할 수 있습니다. 다음은 함수 포인터를 사용한 간단한 예시를 살펴보겠습니다.
예시: 함수 포인터를 사용한 계산기 프로그램
#include <stdio.h>
// 덧셈 함수
int add(int a, int b) {
return a + b;
}
// 뺄셈 함수
int subtract(int a, int b) {
return a - b;
}
// 곱셈 함수
int multiply(int a, int b) {
return a * b;
}
// 나눗셈 함수
int divide(int a, int b) {
if (b != 0) {
return a / b;
} else {
return -1; // 에러를 나타내는 값
}
}
int main() {
// 함수 포인터 선언
int (*calculator)(int, int);
// 덧셈 함수를 가리키도록 포인터 설정
calculator = add;
printf("덧셈 결과: %d\n", calculator(10, 5));
// 뺄셈 함수를 가리키도록 포인터 설정
calculator = subtract;
printf("뺄셈 결과: %d\n", calculator(10, 5));
// 곱셈 함수를 가리키도록 포인터 설정
calculator = multiply;
printf("곱셈 결과: %d\n", calculator(10, 5));
// 나눗셈 함수를 가리키도록 포인터 설정
calculator = divide;
printf("나눗셈 결과: %d\n", calculator(10, 5));
return 0;
}
위의 예시 코드에서는 int (*calculator)(int, int);
와 같이 함수 포인터 calculator
를 선언하고, 각각의 사칙연산 함수를 가리키도록 포인터를 설정한 후 호출하는 예시를 보여줍니다.
함수 포인터를 이용하면 계산기 프로그램에서 함수를 동적으로 교체하고 관리하는데 유용하게 활용할 수 있습니다.
이렇듯 함수 포인터는 C 언어에서 다양한 상황에서 유연한 프로그래밍을 가능하게 해주는 강력한 도구입니다.