반응형
다음은 함수 포인터를 사용하는 간단한 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("2 + 3 = %d\n", operation(2, 3));
// 뺄셈 함수를 가리키는 함수 포인터 변수 설정
operation = &subtract;
printf("5 - 1 = %d\n", operation(5, 1));
return 0;
}
위 예제에서 int (*operation)(int, int);은 함수 포인터를 선언하는 부분입니다.
int (*operation)(int, int)은 "인자로 두 개의 int형 값을 받아 int형 값을 반환하는 함수 포인터 변수 operation"을 의미합니다.
operation = &add; operation = &subtract; |
위 코드는 각각 함수 포인터 변수를 덧셈 함수와 뺄셈 함수로 설정하는 부분입니다.
함수 포인터 변수 operation은 &add나 &subtract와 같은 함수의 메모리 주소를 가리킵니다.
printf("2 + 3 = %d\n", operation(2, 3)); 와 printf("5 - 1 = %d\n", operation(5, 1)); |
함수 포인터 변수 operation이 가리키는 함수를 호출합니다.
함수 포인터 변수 operation에 2와 3을 전달한 결과를 출력하고, 그 다음에는 함수 포인터 변수 operation에 5와 1을 전달한 결과를 출력합니다.
반응형
'C_C++' 카테고리의 다른 글
(C언어) 힙 정렬(heap sort) (0) | 2023.05.17 |
---|---|
(C언어) 이진 파일(binary file) 복사하기 (0) | 2023.05.17 |
(C언어) BMI 체질량지수 계산하기 (0) | 2023.05.03 |
산술평균 기하평균 조화평균을 구하는 C언어 코드 (0) | 2023.05.02 |
(C언어) 친화수 판별하는 프로그램 (0) | 2023.05.01 |