[c언어] 함수 포인터와 함수 포인터의 배열 값을 변경하는 방법
C 프로그래밍 언어에서 함수 포인터를 사용하여 함수를 가리키는 포인터를 생성할 수 있습니다. 함수 포인터를 배열로 선언하고, 해당 배열을 사용하여 함수의 호출을 관리할 수도 있습니다. 이 글에서는 함수 포인터의 배열 값이 변경되는 방법에 대해 설명하겠습니다.
함수 포인터의 배열 정의하기
다음과 같이 함수 포인터의 배열을 선언합니다.
void (*func_ptr_array[5])(int);
위 예시에서는 int
형 인수를 받고 void
를 반환하는 함수를 가리키는 포인터를 가진 배열을 선언했습니다.
함수 포인터 배열 값 변경하기
함수 포인터 배열의 각 원소에 함수를 할당하여 값을 변경할 수 있습니다.
void func1(int num) {
printf("This is function 1 with %d\n", num);
}
void func2(int num) {
printf("This is function 2 with %d\n", num);
}
// 함수 포인터 배열 값 설정
func_ptr_array[0] = func1;
func_ptr_array[1] = func2;
위 예시에서 함수 func1
과 func2
를 함수 포인터 배열에 할당했습니다.
함수 포인터 배열 값 호출하기
설정된 함수 포인터 배열을 사용하여 함수를 호출합니다.
(*func_ptr_array[0])(10); // Function 1 호출
(*func_ptr_array[1])(20); // Function 2 호출
위 코드에서 func_ptr_array
의 첫 번째 원소와 두 번째 원소인 함수를 호출합니다.
함수 포인터와 함수 포인터의 배열을 이용하면 프로그램 실행 중에 동적으로 함수를 결정하고 호출할 수 있습니다.
결론
이번 글에서는 C 언어에서 함수 포인터와 함수 포인터의 배열 값을 변경하는 방법에 대해 알아보았습니다. 함수 포인터와 배열을 조합하여 유연한 프로그래밍을 할 수 있으며, 이는 특히 콜백 함수 및 이벤트 핸들링과 같은 상황에서 유용하게 활용됩니다.
참고문헌: