✅ 목표 (Goal)

void 포인터를 이용하여 여러 데이터형을 정렬하는 함수를 1개로 만들어 보자.

✅ 여러 데이터형(int, char, double)을 정렬하려면?

int형 배열을 정렬하는 함수는 아래와 같다.

void sort(int* arr, int count);

int이외에 char, double도 정렬하려면 어떻게 코딩하면 좋을까?

단순히 생각해보면 아래와 같이 만들면 된다.

void sort1(int* arr, int count);
void sort2(char* arr, int count);
void sort3(long* arr, int count);

단점은 데이터 타입에 따라 함수가 늘어난다.

함수도 구분하기 쉽지 않다.

그래서 함수 이름을 좀 보기 좋게 지어보았다.

void sort_by_int(int* arr, int count);
void sort_by_char(char* arr, int count);
void sort_by_float(float* arr, int count);

그러나, 함수 갯수가 3개인건 여전하다.

함수를 1개로 줄일수는 없을까?

✅ C++에서 해결책: C에서 적용이 안댐