사용자 정의 함수의 4가지 유형 ① — 반환값이 없는 void 함수와 매개변수의 유무 | 기초 C언어 9.2.2-1
기초 C언어Chapter 09 함수 › Section 02 사용자 정의 함수의 유형과 값 전달
9.2.2-1 반환값이 없는 두 유형
반환값과 매개변수의 유무로 나눈 함수의 네 유형. 그중 반환값이 없는 void 함수 두 유형의 형식과 실행 결과를 비교.
영상 목차 · 원하는 부분부터 보기
01반환값과 매개변수로 나누는 네 유형교재 280p
- 앞 편 9.2.1에서 반환값과 매개변수의 뜻을 살펴봄. 이번 편부터 두 요소의 유무로 사용자 정의 함수를 네 유형으로 구분.
- 함수가 값을 반환하는지, 외부에서 값을 전달받는지에 따라 함수의 형태가 달라지므로 처음 배울 때 유형 구분이 중요.
| 구분 | 매개변수 없음 | 매개변수 있음 |
|---|---|---|
| 반환값 없음 | void 함수이름(void) | void 함수이름(자료형 매개변수) |
| 반환값 있음 | 반환자료형 함수이름(void) | 반환자료형 함수이름(자료형 매개변수) |
- 이번 편은 반환값이 없는 윗줄의 두 유형, 다음 편은 반환값이 있는 아랫줄의 두 유형을 다룸.
02값을 받지도 돌려주지도 않는 함수교재 280p
- 첫째 유형 — 외부에서 값을 전달받지 않고, 호출한 곳으로 값을 돌려주지도 않는 함수. 정해진 문장을 출력하거나 반복적으로 쓰는 간단한 작업에 사용.
- 형식은 void 함수이름(void). 반환자료형에 void를 사용하고 매개변수 자리에도 void를 작성할 수 있음. 형식의 예는 void buy(void).
한 줄에 두 번 나오는 void
앞의 void는 돌려주는 값이 없음을, 소괄호 안의 void는 전달받는 값이 없음을 나타냄. 같은 낱말이지만 자리에 따라 가리키는 대상이 다름.
03CODE 9.9 — school 함수의 반복 호출교재 281~282p
- 9.1.1에서 불러 쓴 school 함수가 바로 이 유형. 몸체는 K대학교를 출력하는 printf 문 한 줄.
- main 함수는 A·B·C 학생의 물음 문장을 출력할 때마다 school();을 호출. 실행 결과는 각 물음 아래에 K대학교가 붙는 여섯 줄.
- 호출하면 school 함수로 이동해 출력한 뒤 다시 main 함수로 돌아오는 흐름이 세 번 반복됨. 상세 코드는 교재 CODE 9.9에서 확인.
K대학교 세 줄은 모두 school 함수의 출력
결과 화면의 K대학교 세 줄은 main 함수가 아니라 school 함수 안의 printf 문 하나가 출력한 것. 몇 번을 호출해도 결과가 늘 같은 것이 이 유형의 특징.
04값을 받지만 돌려주지 않는 함수교재 282p
- 둘째 유형 — 외부에서 값을 전달받지만 호출한 곳으로 값을 돌려주지는 않는 함수. 전달받은 값을 이용한 출력이나 특정 작업에 사용.
- 형식은 void 함수이름(자료형 매개변수). 반환자료형에 void, 소괄호 안에 매개변수를 작성. 형식의 예 void buy(int price)는 9.2.1에서 매개변수의 예로 든 함수.
05CODE 9.10 — 전달한 값이 문장에 들어감교재 282~283p
- buy 함수는 정수형 매개변수 price를 받아 printf의 %d 자리에 넣어 출력. main 함수에서 buy(20)과 buy(40)을 차례로 호출.
- 호출할 때마다 인수가 매개변수 price에 전달되고, 출력이 끝나면 main 함수로 돌아옴. 결과는 20만원짜리와 40만원짜리 차를 구입했다는 문장 두 줄.
- 같은 함수라도 전달되는 값에 따라 다른 작업을 수행. 늘 같은 줄을 출력한 school 함수와의 차이.
06void 함수 두 유형의 비교교재 280~283p
| 구분 | 매개변수가 없는 유형 | 매개변수가 있는 유형 |
|---|---|---|
| 예제 함수 | void school(void) | void buy(int price) |
| 호출 | school(); | buy(20); · buy(40); |
| 쓰임 | 항상 같은 작업을 반복 | 전달되는 값에 따라 다른 작업 |
- 두 유형 모두 반환자료형은 void이며 차이는 매개변수의 유무. 다음 편에서는 값을 돌려주는 나머지 두 유형을 다룸.
이 절의 핵심 정리
- 사용자 정의 함수는 반환값과 매개변수의 유무에 따라 네 가지 유형으로 구분한다.
- 반환값이 없는 함수는 반환자료형 자리에 void를 쓴다.
- 반환값과 매개변수가 모두 없는 함수는 항상 같은 작업을 반복해서 수행할 때 사용한다.
- 반환값이 없고 매개변수가 있는 함수는 인수가 매개변수에 전달되어 값에 따라 다른 작업을 수행한다.
- 두 void 유형은 매개변수의 유무로 구별된다.
강의 자료9.2.2-1 반환값이 없는 두 유형
1 / 11
번호를 누르면 해당 장으로 바로 이동합니다 · 방향키 ← → 로도 넘길 수 있습니다

댓글
댓글 쓰기