✅ [도전] 아래 함수를 가리키는 함수 포인터를 만들어보자.


void    func(char a, int b, int c);
int     func(int* a, int *);
void    func(point_t* p1, point_t* p2);
point_t func(point_t* p);

point_t 는 적당히 만들면 된다.

typedef struct _point_t {
	int x;
	int y;
} point_t;

✅ Q1: 다음 중 반환값과 매개변수가 없는 함수 포인터를 만드는 방법으로 올바른 것을 고르세요.

void (fp)();      // (1)
void (*fp)();     // (2)
void *fp();       // (3)
void fp();        // (4)
void (*fp)(void); // (5)
void *(fp)();     // (6)

✅ Q2 다음 중 float형 반환값과 char형 매개변수 두 개를 가지는 함수 포인터를 만드는 방법으로 올바른 것을 고르세요.

char (*fp)(float, float); // (1)
float *fp(char, char);    // (2)
float (*fp)(char, char);  // (3)
float fp(char, char);     // (4)
float *(fp)(char, char);  // (5)

✅ Q3: 인자가 없고, 리턴타입도 없는 함수 포인터를 선언하는 코드를 적으시오.

void (*func)(void);

✅ Q4: int, int 2개를 받고 리턴이 없는 함수 포인터를 선언하는 코드를 적으시오.