1. C 언어의 함수
ㅇ 특정 작업을 수행하도록 설계된 독립적인 프로그램(부프로그램)
2. C 언어 함수의 특징
ㅇ 모두 동등/대등한 자격을 갖음 (상하 관계가 없음)
ㅇ 서로 독립적임 (종속적이지 않음)
ㅇ C 프로그램의 실행은, 함수와 함수가 연결된 형태로 이루어짐 (함수 간 연결 실행)
ㅇ 사용하기 전에 항상 함수의 원형을 밝혀야 함 (Prototype first!)
ㅇ 블로킹 함수 (Blocking Function)
- 호출하는 함수가 호출되는 함수가 종료될 때까지 기다려야 함
- 블로킹 함수의 반대는, 논 블로킹 함수 (비동기 함수) 임
. 사건 기반 프로그래밍
. 전형적인 형태로, 콜백 함수가 있음
. 이벤트 발생시 마다 그때그때 수행하는 방식
. 즉, 앞뒤 시간 순서 관계가 필요 없는 이벤트 구동 방식(event-driven)이 가능
3. C 언어 함수의 사용 방법
ㅇ 함수의 사용
- 함수 선언 : 함수의 원형(Prototype)
. `함수의 인자값,반환값에 대한 타입`, `함수 이름`을 명시하는 것
- 함수 정의 : 함수가 수행할 세부 동작을 작성하는 것
- 함수 호출 : 수행 주체를 전달하고, 다시 받아오는 것
ㅇ 함수 선언/함수 정의의 구조
- 함수 헤더 : 반환자료형 함수명 (자료형 매개변수, ... )
- 함수 시작 : {
- 함수 몸체
- 함수 끝 : }
ㅇ 한편, 함수선언 및 함수정의를 구분하는 이유
- 각각 다른 파일에 둘 수 있는 융통성이 있게 됨
4. C 언어 함수의 종류
ㅇ 표준 함수 : C 언어 자체에서 제공 ☞ C 함수 종류 참조
- 표준 라이브러리 형태로 제공
. 표준 함수의 형식인 원형(Prototype)은, 헤더 파일에 정의되어 있으며,
. 그 실체는, 라이브러리 파일에 수록되어 있음
. 실제 내용의 연결은, 링킹시 라이브러리 파일에서 읽혀져 작성된 프로그램에 결합됨
ㅇ 사용자 정의 함수
- 개발자가 직접 함수 선언 및 함수 정의를 함