반환값과 매개변수 — return 문의 두 역할과 매개변수·인수의 구분 | 기초 C언어 9.2.1

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

9.2.1 반환값과 매개변수

함수가 호출한 곳으로 돌려주는 반환값과 함수의 실행을 끝내는 return 문. 값을 전달받는 매개변수와 실제로 전달하는 인수의 구분.

교재 수록 위치
교재
『기초 C언어』 · 이은상 · 부크크 · 364쪽
단원
Chapter 09 함수 › Section 02 사용자 정의 함수의 유형과 값 전달 › 반환값과 매개변수
쪽수
276p ~ 279p4쪽
세부 내용
반환값의 의미 · CODE 9.7 · return문의 역할 · CODE 9.8 · 매개변수와 인수
학습 목표
반환값이 호출 자리를 대신하는 원리를 이해하고, return 문의 역할과 매개변수·인수를 구분함
영상 목차 · 원하는 부분부터 보기
  1. 0:00 · 강의 소개와 반환값
  2. 2:13 · 합을 반환하는 add 예제
  3. 4:46 · return 문의 역할
  4. 6:13 · 큰 값을 반환하는 예제
  5. 9:24 · 매개변수와 인수
  6. 10:18 · 핵심 정리

01형식 속 낱말을 정식으로교재 276p

  • 앞 편 9.1.2에서는 함수 정의와 호출의 형식을 읽는 데 필요한 만큼만 살펴봄. 이번 편에서는 형식 속 낱말의 뜻과 역할을 하나씩 다룸.
  • 함수에서 나오는 값에 관한 낱말은 반환 자료형·return·반환값, 함수로 들어가는 값에 관한 낱말은 매개변수·인수.

02반환값 — 호출한 곳으로 돌려주는 값교재 276p

  • 반환값(Return Value) — 함수가 작업을 수행한 뒤 자신을 호출한 곳으로 돌려주는 값.
  • 두 수를 더하는 함수라면 합을 계산해 main 함수로 돌려주는 구조. main 함수는 돌려받은 값을 변수에 저장하거나 출력문에 사용 가능.
  • CODE 9.7은 9.1.2의 add 함수로 반환값이 쓰이는 자리를 확인하는 예제. 반환 자료형은 int, 매개변수는 int a와 int b, 반환하는 문장은 return sum;.

03호출 자리를 반환값이 대신함교재 276~277p

  • CODE 9.7의 실행 결과는 반환된 값: 8 한 줄. add(5, 3)이 돌려준 8이 result에 저장된 뒤 출력됨.
  • 호출이 끝나면 add(5, 3) 부분을 반환값 8이 대신하는 셈. 따라서 result = add(5, 3);과 result = 8;은 같은 의미로 이해 가능.
  • 반환값은 변수 저장뿐 아니라 다른 연산에도 사용 가능. add(5, 3)에 10을 더하면 18이 되는 식.

04return 문의 두 가지 역할교재 277~278p

  • 첫째, 함수의 실행 종료. return 문이 실행되면 함수 안에 남아 있는 코드와 관계없이 함수가 끝남.
  • 둘째, 값의 반환. return 뒤에 작성한 값이 함수를 호출한 곳으로 전달됨.
함수return 문의 꼴작성 방법
반환값이 있는 함수return 반환값;return 뒤에 반환할 값을 작성
반환값이 없는 void 함수return;값 없이 작성하거나 문장 자체를 생략

void 함수에 return 문이 없던 까닭

void 함수에서는 return 문을 생략할 수 있음. 9.1.1의 school 함수처럼 return 문이 없어도 닫는 중괄호에 이르면 함수가 저절로 끝남.

05큰 값을 돌려주는 get_max교재 278~279p

  • CODE 9.8 — if-else로 두 정수를 비교해 큰 값을 돌려주는 get_max 함수. return 문이 두 곳에 있는 구성이며, if-else는 6.1.2에서 다룬 내용.
  • get_max(5, 10)을 호출하면 5는 매개변수 x, 10은 매개변수 y에 전달. 5는 10보다 크지 않으므로 else 쪽 return y;가 실행되고 결과는 큰 수는: 10.
  • 반환값 10은 max에 저장된 뒤 출력됨. 상세 코드와 동작 순서는 교재 CODE 9.8에서 확인.

return 문 두 개가 모두 실행되지는 않음

return 문이 실행되면 해당 함수는 즉시 종료되므로 return x;와 return y; 중 하나만 실행됨. 반복문만 빠져나오는 break와 달리 return은 함수 전체를 빠져나옴.

06매개변수와 인수교재 279p

  • 매개변수(Parameter) — 함수가 값을 전달받기 위해 선언한 변수. void buy(int price)에서 price에 해당.
  • 인수(Argument) — 함수를 호출할 때 실제로 전달하는 값. buy(20);에서 20에 해당하며, 호출되면 인수 20이 매개변수 price에 전달됨.
  • 앞 편 add(5, 3)에서도 5와 3은 인수, 이를 받는 a와 b는 매개변수. 매개변수는 그릇, 인수는 그 그릇에 담기는 값에 견줄 수 있음.
  • 반환값과 매개변수의 유무에 따라 함수를 넷으로 나누는 방법은 다음 편 9.2.2에서 다룸.

이 절의 핵심 정리

  1. 반환값은 함수가 작업을 마친 뒤 호출한 곳으로 돌려주는 값이다.
  2. 호출이 끝나면 반환값이 호출 부분을 대신하므로 그 값을 변수에 저장하거나 연산에 사용할 수 있다.
  3. return 문은 함수의 실행을 종료하고, 뒤에 적은 값을 호출한 곳으로 반환한다.
  4. 반환값이 없는 void 함수는 return;을 쓰거나 return 문을 생략할 수 있다.
  5. 매개변수는 값을 전달받기 위해 선언한 변수이고, 인수는 호출할 때 실제로 전달하는 값이다.
강의 자료9.2.1 반환값과 매개변수 1 / 13

번호를 누르면 해당 장으로 바로 이동합니다 · 방향키 ← → 로도 넘길 수 있습니다
다음 절 · 9.2.2-1 반환값이 없는 두 유형 교재 280p~283p — 반환값과 매개변수의 유무로 나눈 함수의 네 유형 ↗

더 자세한 내용은 교재에서

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

댓글

이 블로그의 인기 게시물

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

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