C언어에서의 포인터와 함수 포인터 활용하기

안녕하세요! 이번에는 C언어에서 포인터와 함수 포인터를 활용하는 방법에 대해 알아보겠습니다. 포인터는 메모리 주소를 저장하는 변수로, 함수 포인터는 함수의 주소를 저장하는 변수입니다. 이제 함께 C언어에서의 포인터와 함수 포인터를 다루는 방법을 살펴보도록 하겠습니다.
1. 포인터를 활용한 변수 접근
포인터를 사용하면 메모리 주소를 직접 조작하여 변수에 접근할 수 있습니다. 변수의 주소를 포인터에 할당한 뒤 간접 참조 연산자 `*`를 사용하여 값을 변경하거나 조회할 수 있습니다.
#include <stdio.h>
int main() {
int num = 10;
int* ptr = # // 변수의 주소를 포인터에 할당
*ptr = 20; // 포인터를 통한 변수 값 변경
printf("변수 값: %d\n", num); // 변경된 값 출력
return 0;
}
2. 함수 포인터 사용하기
함수 포인터는 함수의 주소를 저장하는 변수로, 해당 함수를 호출할 수 있습니다. 함수 포인터를 선언할 때는 함수의 반환 타입과 매개변수 타입을 일치시켜야 합니다. 함수 포인터를 사용하여 다른 함수를 가리키고 호출할 수 있습니다.
#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; // add 함수의 주소를 함수 포인터에 할당
printf("덧셈 결과: %d\n", operation(10, 5)); // 함수 포인터를 통한 함수 호출
operation = subtract; // subtract 함수의 주소를 함수 포인터에 할당
printf("뺄셈 결과: %d\n", operation(10, 5)); // 함수 포인터를 통한 함수 호출
return 0;
}
포인터와 함수 포인터는 C언어에서 강력한 기능으로, 변수와 함수의 동적인 조작을 가능하게 합니다. 포인터를 활용하여 메모리 주소에 직접 접근하거나 함수 포인터를 사용하여 다른 함수를 가리키고 호출할 수 있습니다. 이러한 기능을 적절히 활용하여 프로그램을 유연하고 다양한 상황에 대응할 수 있도록 해보세요.
#C언어 #C언어강좌 #C언어초보 #C언어포인터 #C언어함수포인터 #C언어에서의포인터와함수포인터활용하기