함수의 정의와 호출 — 반환 자료형·매개변수·return 문·인수 | 기초 C언어 9.1.2-1
기초 C언어Chapter 09 함수 › Section 01 함수의 기본 이해
9.1.2-1 함수의 정의와 호출
함수를 직접 만드는 정의의 기본 형식과 그 함수를 부르는 호출 형식. add 함수로 인수가 매개변수에 전달되고 결과가 반환되는 과정을 확인.
영상 목차 · 원하는 부분부터 보기
01불러 쓰기에서 직접 만들기로교재 271p
- 앞 편 9.1.1에서는 school 함수를 불러 쓰는 모습을 확인. 이번 편은 함수를 정의(Function Definition)하고 호출(Function Call)하는 형식.
- 두 정수를 더하는 add 함수를 정의하는 CODE 9.3, 그 함수를 main에서 호출하는 CODE 9.4를 차례로 살펴봄.
02함수 정의의 기본 형식교재 271p
- 함수의 정의 — 새로운 함수를 만들고 그 함수가 어떤 작업을 수행할지 작성하는 것. 함수 이름, 반환 자료형, 매개변수, 함수 몸체를 함께 작성.
- 반환값이 있는 함수의 기본 형식은
반환자료형 함수이름(매개변수목록) { 문장; return 반환값; }의 짜임.
| 구성 요소 | 역할 |
|---|---|
| 반환자료형 | 작업을 마친 뒤 호출한 곳으로 돌려주는 값의 자료형. 반환값이 없으면 void |
| 매개변수목록 | 작업에 필요한 값을 전달받는 부분. 소괄호 안에 자료형과 변수 이름을 함께 작성 |
| return 문 | 실행을 마치고 결과값을 호출한 곳으로 반환. void 함수에서는 필요할 때 return;만 사용 |
- 함수 이름은 수행하는 기능을 알 수 있도록 짓는 것이 좋음. 함수 몸체는 중괄호 안에 실제로 수행할 문장을 두는 부분.
- school 함수 앞의 void, 2.1.3에서 정수를 돌려주겠다는 약속이라 한 main 앞의 int가 모두 반환 자료형 자리.
03CODE 9.3 — add 함수의 정의교재 271~272p
- int형 매개변수 a, b를 전달받아 합을 sum에 저장하고, return sum;으로 그 값을 호출한 곳에 돌려주는 int형 함수. 상세 코드는 교재 CODE 9.3.
- 이 함수는 단독으로 실행되지 않음. main 함수 같은 다른 함수에서 호출해야 실행되는 구조.
정의만으로는 실행되지 않음
함수를 정의해 두어도 어디선가 호출하지 않으면 그 안의 문장은 한 번도 실행되지 않음. 프로그램은 main에서 시작하므로, 정의와 호출이 함께 있어야 동작함.
04함수 호출과 인수교재 272p
- 함수의 호출 — 미리 정의된 함수를 실행하도록 부르는 것. 형식은
함수이름(인수);. 함수 이름을 쓰고 소괄호 안에 필요한 값을 넣음. - add(5, 3);의 5와 3처럼 함수에 전달되는 값이 인수(argument). 첫째 인수 5는 첫째 매개변수 a에, 둘째 인수 3은 둘째 매개변수 b에 차례대로 저장됨.
인수와 매개변수를 구분
인수는 호출하는 쪽 소괄호에 적는 값, 매개변수는 정의하는 쪽 소괄호에서 그 값을 전달받아 저장하는 변수. 같은 소괄호 모양이지만 놓이는 자리와 구실이 다름.
05CODE 9.4 — 정의와 호출을 한 코드에교재 272~273p
- main 위에 add 함수를 정의하고, main에서 result = add(5, 3);으로 호출한 뒤 반환값을 출력하는 예제. 직접 만든 함수이므로 사용자 정의 함수.
- 실행 결과는 덧셈 결과: 8 한 줄. 상세 코드는 교재 CODE 9.4.
06add 함수로 갔다가 돌아오는 순서교재 273p
- main에서 add(5, 3)을 만나 호출하면 실행 흐름이 add로 이동하고, a에는 5, b에는 3이 복사되어 전달.
- add가 a + b를 계산해 sum에 8을 저장한 뒤, return sum;으로 8을 main에 반환하고 종료.
- main은 반환된 8을 result에 저장한 뒤 printf로 화면에 출력.
- 다음 편 9.1.2-2에서는 함수의 실행 흐름을 다시 확인하고, main 아래에 함수를 정의할 때 필요한 함수 원형을 다룸.
이 절의 핵심 정리
- 함수의 정의는 반환 자료형, 함수 이름, 매개변수, 함수 몸체를 함께 작성하는 것이다.
- 반환값이 없는 함수는 반환 자료형으로 void를 사용한다.
- 정의한 함수는 단독으로 실행되지 않고 다른 함수에서 호출해야 실행된다.
- 함수를 호출할 때 소괄호 안에 넣어 전달하는 값을 인수라고 하며, 인수는 매개변수에 차례대로 저장된다.
- return 문은 함수의 실행을 마치고 결과값을 호출한 곳으로 돌려준다.
강의 자료9.1.2-1 함수의 정의와 호출
1 / 11
번호를 누르면 해당 장으로 바로 이동합니다 · 방향키 ← → 로도 넘길 수 있습니다

댓글
댓글 쓰기