포인터의 종류 중 하나로 함수의 메모리 시작주소를 저장하는 포인터를 함수 포인터라 한다.

형식 리턴형 (*변수명)(인자...);
#include<stdio.h>
#define PI 3.1415
void Greeting();
double GetCircleArea(int);

void main(void)
{
	void (*ptr1)();
	double (*ptr2)(int);
	int radius;
	double area;

	ptr1 = &Greeting;
	(*ptr1)();

	ptr2 = &GetCircleArea;
	radius = 10;
	area = (*ptr2)(radius);
	printf("반지름이 %d인 원의 면적은 %.2f \n", radius, area);

}

void Greeting(){
	printf("Hello CodeIn!! \n");
}

double GetCircleArea(int radius){
	double area = PI*radius*radius;
	return area;
}

+ Recent posts