사용자 정의 함수의 4가지 유형 ① — 반환값이 없는 void 함수와 매개변수의 유무 | 기초 C언어 9.2.2-1

기초 C언어Chapter 09 함수 › Section 02 사용자 정의 함수의 유형과 값 전달

9.2.2-1 반환값이 없는 두 유형

반환값과 매개변수의 유무로 나눈 함수의 네 유형. 그중 반환값이 없는 void 함수 두 유형의 형식과 실행 결과를 비교.

교재 수록 위치
교재
『기초 C언어』 · 이은상 · 부크크 · 364쪽
단원
Chapter 09 함수 › Section 02 사용자 정의 함수의 유형과 값 전달 › 반환값이 없는 두 유형
쪽수
280p ~ 283p4쪽
세부 내용
네 가지 유형 개관 · 반환값이 없고 매개변수가 없는 함수 · CODE 9.9 · 반환값이 없고 매개변수가 있는 함수 · CODE 9.10
학습 목표
함수의 첫 줄로 네 유형을 구분하고, 매개변수 유무에 따른 void 함수 두 유형의 차이를 설명함
영상 목차 · 원하는 부분부터 보기
  1. 0:00 · 강의 소개와 함수의 네 유형
  2. 1:21 · 반환값·매개변수가 없는 함수
  3. 4:01 · school 함수의 호출 흐름
  4. 5:00 · 매개변수가 있는 void 함수
  5. 7:52 · buy 함수의 인수 전달
  6. 9:00 · 핵심 정리

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이며 차이는 매개변수의 유무. 다음 편에서는 값을 돌려주는 나머지 두 유형을 다룸.

이 절의 핵심 정리

  1. 사용자 정의 함수는 반환값과 매개변수의 유무에 따라 네 가지 유형으로 구분한다.
  2. 반환값이 없는 함수는 반환자료형 자리에 void를 쓴다.
  3. 반환값과 매개변수가 모두 없는 함수는 항상 같은 작업을 반복해서 수행할 때 사용한다.
  4. 반환값이 없고 매개변수가 있는 함수는 인수가 매개변수에 전달되어 값에 따라 다른 작업을 수행한다.
  5. 두 void 유형은 매개변수의 유무로 구별된다.
강의 자료9.2.2-1 반환값이 없는 두 유형 1 / 11

번호를 누르면 해당 장으로 바로 이동합니다 · 방향키 ← → 로도 넘길 수 있습니다
다음 절 · 9.2.2-2 반환값이 있는 두 유형 교재 283p~286p — 값을 호출한 곳으로 돌려주는 두 유형 ↗

더 자세한 내용은 교재에서

이 글은 『기초 C언어』 280p~283p의 내용을 강의 영상에 맞춰 핵심만 간추린 요약입니다. 각 개념의 상세한 설명과 예제, 실습 코드, 임용시험 기출문제 풀이는 교재에서 다루고 있습니다.

댓글

이 블로그의 인기 게시물

2007년 국가직 9급 기계일반 기출문제 풀이

기계공작법 연습문제 130문 | 임용 기출 영상·교재 쪽수 바로가기