티스토리 뷰

함수 포인터
함수 포인터의 정의와 용도에 대해 설명할 수 있다.
함수 포인터의 기초 문법을 알고 구현할 수 있다.
함수 포인터 이해
1.기본개념 : 소개 : 정의
함수 포인터란? 함수의 주소를 저장하는 변수
1.기본개념 : 소개 : 필요성
- 프로그램 코드 간결화
- 배열로 처리함으로써 중복 코드 제거 가능
- 상황에 따른 함수 호출
- 함수를 데이터 형태로 처리 -> 함수의 보관과 전달이 용이
1.기본개념 : 소개 : 형식
리턴타입(*함수 포인터명)(매겨변수리스트);
2.함수 포인터 형식
- 리턴과 매개변수가 없는 함수에 대한 함수 포인터
- 리턴과 매개변수가 있는 함수에 대한 함수 포인터
- 함수 포인터 배열
- 구조체 멤버
- 함수의 매개변수
함수 포인터 활용
1.qsort()
- 함수원형 : coid 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
- 구현 : 비교함수는 직접 구현해야 함
(배열의 자료형과 비교방식이 다르기 때문)
함수 포인터 이해
- 함수 포인터는 함수를 저장하는 포인터를 의미함
- 함수 포인터를 활용하면 함수를 자유롭게 주고받거나 함수 호출을 자동화할 수 있음
- 리턴타입(*함수 포인터명)(매개변수리스트);
함수 포인터 활용
- qsort는 stdlib.h를 incloude 해야 함
- qsort는 테이블의 자료를 퀵정렬하는 함수임
- 비교함수는 처리할 자료형에 맞게 직접 구현해야 함
'JAVA기반 스마트웹 개발2021 > 프로그래밍 언어활용' 카테고리의 다른 글
파일 입출력 라이브러리(기초) (0) | 2021.08.08 |
---|---|
도서관리 시스템 고도화(동적 메모리) (0) | 2021.08.08 |
동적 메모리 (0) | 2021.08.08 |
도서관리 시스템 고도화(라이브러리 적용) (0) | 2021.08.08 |
문자열 비교 검색 라이브러리 (0) | 2021.08.08 |
댓글
© 2018 webstoryboy