반환값과 매개변수 — return 문의 두 역할과 매개변수·인수의 구분 | 기초 C언어 9.2.1
기초 C언어Chapter 09 함수 › Section 02 사용자 정의 함수의 유형과 값 전달
9.2.1 반환값과 매개변수
함수가 호출한 곳으로 돌려주는 반환값과 함수의 실행을 끝내는 return 문. 값을 전달받는 매개변수와 실제로 전달하는 인수의 구분.
영상 목차 · 원하는 부분부터 보기
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에서 다룸.
이 절의 핵심 정리
- 반환값은 함수가 작업을 마친 뒤 호출한 곳으로 돌려주는 값이다.
- 호출이 끝나면 반환값이 호출 부분을 대신하므로 그 값을 변수에 저장하거나 연산에 사용할 수 있다.
- return 문은 함수의 실행을 종료하고, 뒤에 적은 값을 호출한 곳으로 반환한다.
- 반환값이 없는 void 함수는 return;을 쓰거나 return 문을 생략할 수 있다.
- 매개변수는 값을 전달받기 위해 선언한 변수이고, 인수는 호출할 때 실제로 전달하는 값이다.
강의 자료9.2.1 반환값과 매개변수
1 / 13
번호를 누르면 해당 장으로 바로 이동합니다 · 방향키 ← → 로도 넘길 수 있습니다

댓글
댓글 쓰기