함수의 정의와 호출 — 반환 자료형·매개변수·return 문·인수 | 기초 C언어 9.1.2-1

기초 C언어Chapter 09 함수 › Section 01 함수의 기본 이해

9.1.2-1 함수의 정의와 호출

함수를 직접 만드는 정의의 기본 형식과 그 함수를 부르는 호출 형식. add 함수로 인수가 매개변수에 전달되고 결과가 반환되는 과정을 확인.

교재 수록 위치
교재
『기초 C언어』 · 이은상 · 부크크 · 364쪽
단원
Chapter 09 함수 › Section 01 함수의 기본 이해 › 함수의 정의와 호출
쪽수
271p ~ 273p3쪽
세부 내용
함수의 정의 · CODE 9.3 · 함수의 호출 · CODE 9.4
학습 목표
함수 정의의 구성 요소를 구분하고, 호출 시 인수 전달과 반환값의 흐름을 설명함
영상 목차 · 원하는 부분부터 보기
  1. 0:00 · 강의 소개와 함수 정의
  2. 1:45 · 기본 형식의 구성 요소
  3. 2:50 · add 함수 정의
  4. 3:58 · 함수 호출과 인수 전달
  5. 5:22 · 정의와 호출을 함께 쓴 예제
  6. 8:18 · 핵심 정리

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 아래에 함수를 정의할 때 필요한 함수 원형을 다룸.

이 절의 핵심 정리

  1. 함수의 정의는 반환 자료형, 함수 이름, 매개변수, 함수 몸체를 함께 작성하는 것이다.
  2. 반환값이 없는 함수는 반환 자료형으로 void를 사용한다.
  3. 정의한 함수는 단독으로 실행되지 않고 다른 함수에서 호출해야 실행된다.
  4. 함수를 호출할 때 소괄호 안에 넣어 전달하는 값을 인수라고 하며, 인수는 매개변수에 차례대로 저장된다.
  5. return 문은 함수의 실행을 마치고 결과값을 호출한 곳으로 돌려준다.
강의 자료9.1.2-1 함수의 정의와 호출 1 / 11

번호를 누르면 해당 장으로 바로 이동합니다 · 방향키 ← → 로도 넘길 수 있습니다
다음 절 · 9.1.2-2 실행 흐름과 함수 원형 교재 273p~275p — main에서 시작해 호출된 함수로 갔다가 돌아오는 실행 흐름 ↗

더 자세한 내용은 교재에서

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

댓글

이 블로그의 인기 게시물

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

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