✅ 목표 (Goal)

✅ 뭘 할거냐 하면은..

아래와 같은 3개의 함수가 있을때

이 함수(bts, exo, ses)를 인자로 받고 돌려줘 보자.

void bts() { }
void exo(int a) { }
int  ses(int a, int b) { return 11; }

✅ 각각의 함수를 만들고 테스트

일단 위 함수를 만들어 보고 잘 동작되는지 테스트해보자.

함수의 body는 크게 의미없다.

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

void bts() {
	printf("%s%s\\r\\n", __func__,"()");
}

void exo(int a) {
	printf("%s%s\\r\\n", __func__, "()");
}

int ses(int a, int b) {
	printf("%s%s\\r\\n", __func__, "()");
	return 11;
}

int main() {
	bts();
	exo(1);
	ses(11, 22);

	return 0;
}

✅ ★를 채워보자. = 함수를 인자로 받아보자.

어떻게 하면 좋을까?

void set_bts(★) { // ★에 bts 함수를 인자로 받자.
}

void set_exo(★) { // ★에 exo 함수를 인자로 받자.
}

void set_ses(★) { // ★에 ses 함수를 인자로 받자.
}

아래와 같이 채우면 된다.

void set_bts(void (*fp)()) {
}

void set_exo(void (*fp)(int), int a) {
}

void set_ses(int (*fp)(int, int), int a, int b) {
}