프로그래밍/C

함수 포인터

천사친구 2021. 11. 8. 16:39

함수 포인터 - 함수를 가리키는 포인터

 

// 함수 포인터

#include <stdio.h>

int max(int a, int b);
int donothing(int c, int k);

int main() {
	int a, b;
	int (*pfunc)(int, int);		// 리턴형이 int 이고 두개의 int 인자를 가진 함수를 가리킨다
	pfunc = max;				// 함수의 주소값을 포인터에 넣어준다

	scanf("%d %d", &a, &b);
	printf("max(a,b) : %d\n", max(a, b));
	printf("pfunc(a,b) : %d\n", pfunc(a, b));

	pfunc = donothing;

	printf("donothing(1,1) : %d\n", donothing(1, 1));
	printf("pfunc(1,1) : %d\n", pfunc(1, 1));

	return 0;
}

int max(int a, int b) {
	if (a > b) return a;
	else return b;
	return 0;
}

int donothing(int c, int k) {
	return 1;
}