티스토리 뷰

 

함수 포인터 활용

qsort()

 

함수원형

void qsort (void * base, size_t num, size_t size, int (*compar)(const void *, const void *));

 

헤더

stdlib.h

 

기능

테이블의 자료를 퀵 정렬로 내림이나 오름차순으로 정렬

 

매개변수

void * base → 테이블의 포인터 주소
size_t num → 테이블에 들어 있는 실제 데이터 개수
size_t size → 한 개 요소의 크기
int (*compar)(const void *, const void *) → 두 요소를 비교하기 위한 함수 포인터

 

반환값

void

 

구현

비교함수는 직접 구현해야 함 (배열의 자료형과 비교방식이 다르기 때문)

 

학습 정리

함수 포인터 이해

  1. 함수 포인터는 함수를 저장하는 포인터를 의미함* 함수 포인터를 활용하면 함수를 자유롭게 주고받거나 함수 호출을 자동화할 수 있음
  2. 리턴타입 (*함수 포인터명)(매개변수리스트);

함수 포인터 활용

  1. qsort는 stdlib.h를 include 해야 함* qsort는 테이블의 자료를 퀵정렬하는 함수임
  2. 비교함수는 처리할 자료형에 맞게 직접 구현해야 함

 

댓글
© 2022 chanchaning