사용자 정의 함수의 4가지 유형 ② — 반환자료형·return과 네 유형 정리 | 기초 C언어 9.2.2-2

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

9.2.2-2 반환값이 있는 두 유형

값을 호출한 곳으로 돌려주는 두 유형. 매개변수 없이 함수 안에서 값을 만드는 유형과 전달받은 값으로 계산하는 유형의 비교.

교재 수록 위치
교재
『기초 C언어』 · 이은상 · 부크크 · 364쪽
단원
Chapter 09 함수 › Section 02 사용자 정의 함수의 유형과 값 전달 › 반환값이 있는 두 유형
쪽수
283p ~ 286p4쪽
세부 내용
반환값이 있고 매개변수가 없는 함수 · CODE 9.11 · 반환값이 있고 매개변수가 있는 함수 · CODE 9.12 · 네 유형 정리
학습 목표
반환값이 있는 두 유형의 형식과 값의 흐름을 구분하고, 네 유형을 예제 함수와 연결함
영상 목차 · 원하는 부분부터 보기
  1. 0:00 · 강의 소개와 반환값이 있는 함수
  2. 0:54 · 매개변수 없이 입력값 반환하기
  3. 5:06 · 매개변수로 받아 제곱값 반환하기
  4. 9:16 · 사용자 정의 함수의 네 유형 비교
  5. 10:20 · 핵심 정리

01값을 돌려주는 두 유형교재 283p

  • 앞 편에서는 반환값이 없는 void 함수 두 유형을 살펴봄. 이번 편은 네 유형 중 반환값이 있는 셋째·넷째 유형.
  • 두 유형 모두 반환자료형 자리에 void 대신 반환할 값의 자료형을 작성. 둘의 차이는 매개변수의 유무.

02반환값이 있고 매개변수가 없는 함수교재 283p

  • 외부에서 값을 전달받지는 않지만, 함수 안에서 만든 결과값을 호출한 곳으로 돌려주는 함수. 함수 내부에서 값을 입력받거나 일정한 값을 만들어 반환할 때 사용.
  • 형식은 반환자료형 함수이름(void). 매개변수 자리에는 void를 작성할 수 있음. 형식의 예 int buy(void)에서 int는 반환자료형, void는 매개변수 없음을 나타냄.

03CODE 9.11 — 입력받은 값을 돌려주는 get_integer교재 284~285p

  • get_integer는 ‘정수를 얻음’이라는 뜻의 이름. 함수 안에서 숫자 입력을 요청하고, scanf로 받은 값을 n에 저장한 뒤 return n;으로 반환. scanf는 4.3.2에서 다룬 입력 함수.
  • main 함수는 result = get_integer();로 호출하고 돌려받은 값을 result에 저장해 출력. 10을 입력한 실행 결과는 숫자 입력: 10과 입력값: 10의 두 줄.

결과의 두 10은 출처가 다름

첫 줄 끝의 10은 사용자가 입력한 값, 둘째 줄의 10은 result에 저장된 반환값. 매개변수가 없어도 함수 안에서 만든 값은 return을 통해 함수 밖으로 나올 수 있음.

04반환값이 있고 매개변수가 있는 함수교재 285p

  • 외부에서 값을 전달받고, 그 값을 이용해 계산한 결과를 호출한 곳으로 돌려주는 함수. 네 유형 중 가장 일반적으로 많이 사용되는 형태이며 9.2.1의 add 함수도 이 유형.
  • 형식은 반환자료형 함수이름(자료형 매개변수). 형식의 예 int buy(int price)에서 앞의 int는 반환자료형, int price는 자료형과 매개변수.

05CODE 9.12 — 제곱값을 돌려주는 square교재 285~286p

  • square(5)를 호출하면 인수 5가 매개변수 n에 전달되고, 함수 안에서 n * n을 계산해 result에 저장한 뒤 return result;로 반환.
  • 반환값 25가 answer에 저장되어 실행 결과는 제곱 결과: 25. 상세 코드와 동작 순서는 교재 CODE 9.12에서 확인.
  • 값이 함수로 들어가는 길은 매개변수, 함수에서 나오는 길은 반환값. 두 길을 모두 쓰는 유형이므로 계산을 맡기는 함수에 알맞음.

06네 유형을 한눈에교재 280~286p

유형반환값매개변수예제 함수
1없음없음void school(void) · CODE 9.9
2없음있음void buy(int price) · CODE 9.10
3있음없음int get_integer(void) · CODE 9.11
4있음있음int square(int n) · CODE 9.12
  • 함수가 값을 반환하는지, 외부에서 값을 전달받는지에 따라 함수의 형태가 달라짐. 함수의 첫 줄만 보고도 유형을 구분할 수 있어야 함.
  • 다음 편 9.2.3에서는 인수가 매개변수로 넘어갈 때 실제로 건너가는 것이 무엇인지 다룸.

이 절의 핵심 정리

  1. 반환값이 있는 함수는 반환자료형 자리에 반환할 값의 자료형을 쓴다.
  2. 반환값이 있고 매개변수가 없는 함수는 함수 안에서 만든 값을 호출한 곳으로 돌려준다.
  3. 반환값과 매개변수가 모두 있는 함수는 전달받은 값으로 계산한 결과를 돌려주며 가장 많이 쓰인다.
  4. 반환된 값은 호출한 곳에서 변수에 저장되어 출력 등에 사용된다.
  5. 네 유형은 함수의 첫 줄에 적힌 반환자료형과 매개변수로 구분할 수 있다.
강의 자료9.2.2-2 반환값이 있는 두 유형 1 / 12

번호를 누르면 해당 장으로 바로 이동합니다 · 방향키 ← → 로도 넘길 수 있습니다
다음 절 · 9.2.3 값 전달 방식의 이해 교재 287p~289p — 인수로 쓴 변수의 값만 복사해 매개변수에 넘기는 값에 의한 호출 ↗

더 자세한 내용은 교재에서

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

댓글

이 블로그의 인기 게시물

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

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