[c언어] 함수 포인터와 함수 포인터의 배열 예제
이 예제에서는 C 언어에서 함수 포인터 및 함수 포인터의 배열을 사용하는 방법을 살펴보겠습니다.
함수 포인터
함수 포인터는 함수의 주소를 저장하는 포인터입니다. 함수를 가리키는 포인터로, 함수 포인터를 사용하여 함수를 간접적으로 호출할 수 있습니다.
아래는 함수 포인터를 선언하고 사용하는 간단한 예제입니다.
#include <stdio.h>
// 더하기 함수
int add(int a, int b) {
return a + b;
}
// 뺄셈 함수
int subtract(int a, int b) {
return a - b;
}
int main() {
int (*operation)(int, int); // 함수 포인터 선얫
operation = add; // 더하기 함수를 가리키도록 설정
printf("%d\n", operation(5, 3)); // 함수 포인터를 통해 더하기 함수 호출
operation = subtract; // 뺄셈 함수를 가리키도록 설정
printf("%d\n", operation(5, 3)); // 함수 포인터를 통해 뺄셈 함수 호출
return 0;
}
위 코드에서 operation
은 함수 포인터로, add
함수와 subtract
함수를 가리키도록 설정한 후에 각각을 호출합니다.
함수 포인터의 배열
함수 포인터의 배열은 함수 포인터를 원소로 갖는 배열입니다. 아래는 함수 포인터의 배열을 사용하는 간단한 예제입니다.
#include <stdio.h>
// 더하기 함수
int add(int a, int b) {
return a + b;
}
// 뺄셈 함수
int subtract(int a, int b) {
return a - b;
}
int main() {
int (*operations[2])(int, int) = {add, subtract}; // 함수 포인터의 배열 선언 및 초기화
for (int i = 0; i < 2; i++) {
printf("%d\n", operations[i](5, 3)); // 함수 포인터를 통해 함수 호출
}
return 0;
}
위 코드에서 operations
는 함수 포인터의 배열로, add
함수와 subtract
함수를 원소로 가지고 있습니다. 이후 반복문을 통해 각 함수를 호출합니다.
이렇게 함수 포인터 및 함수 포인터의 배열을 사용하면 코드의 유지보수성을 향상시키고, 유연한 프로그래밍이 가능해집니다.
결론
이번 예제에서는 C 언어에서 함수 포인터와 함수 포인터의 배열을 사용하는 방법에 대해 살펴보았습니다. 함수 포인터를 통해 함수를 간접적으로 호출하고, 함수 포인터의 배열을 사용하여 여러 함수들을 관리할 수 있습니다.
더 많은 정보를 원하시면 아래 레퍼런스를 참고하세요.