함수(Function)의 기초 — 함수의 뜻·함수 호출·실행 흐름·함수를 사용하는 이유 | 기초 C언어 9.1.1

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

9.1.1 함수의 기초

특정 작업을 수행하는 코드를 하나로 묶은 함수. 같은 출력을 반복하는 코드와 함수를 호출하는 코드를 비교하고, 함수를 사용하는 이유를 정리.

교재 수록 위치
교재
『기초 C언어』 · 이은상 · 부크크 · 364쪽
단원
Chapter 09 함수 › Section 01 함수의 기본 이해 › 함수의 기초
쪽수
268p ~ 270p3쪽
세부 내용
함수란? · CODE 9.1 · CODE 9.2 · 함수를 사용하는 이유
학습 목표
함수의 뜻과 호출 시 실행 흐름을 이해하고, 함수를 사용하는 장점을 설명함
영상 목차 · 원하는 부분부터 보기
  1. 0:00 · 강의 소개와 함수의 뜻
  2. 1:53 · 함수를 사용하지 않는 코드
  3. 3:15 · 함수 정의와 반복 호출
  4. 5:08 · 함수를 사용하는 이유와 장점
  5. 7:04 · 핵심 정리

01main 함수 하나에서 여러 함수로교재 268p

  • 8장의 배열에 이어 9장은 함수. 지금까지는 2.1.3에서 프로그램의 시작점으로 배운 main 함수 하나 안에 모든 코드를 작성.
  • 프로그램의 규모가 커지면 main 안에 모든 코드를 두는 방식은 읽고 관리하기 어려운 구조.
  • 지금까지 써 온 printf와 scanf도 함수. 미리 만들어 둔 함수를 불러 쓴 것이며, 이번 편은 함수가 무엇인지부터 확인.

02함수 — 코드를 묶은 하나의 단위교재 268p

  • 함수(Function) — 특정 작업을 수행하는 코드들을 하나의 단위로 묶어 놓은 것. 묶은 단위에 이름을 붙이고, 그 이름을 부르면 안의 코드가 차례로 실행됨.
  • 함수를 사용하면 반복되는 코드를 줄이고, 프로그램을 기능별로 나누어 작성 가능.
  • 같은 문장을 여러 번 출력하는 경우를 예로 함수를 쓰지 않는 코드와 쓰는 코드를 비교.

03CODE 9.1 — 같은 printf를 세 번교재 268~269p

  • 함수 없이 main 안에 똑같은 printf 문을 세 번 작성한 예제. 결과는 K대학교 세 줄로, 출력만 보면 문제가 없어 보임.
  • 같은 기능이 반복되면 코드의 길이가 길어짐. 세 번이면 세 줄, 백 번이면 백 줄.
  • 출력 내용을 바꿀 때 여러 줄을 모두 수정해야 하는 부담. 학교 이름이 바뀌면 세 줄을 빠짐없이 찾아 고쳐야 함.

04CODE 9.2 — school 함수를 세 번 호출교재 269p

  • printf 문 하나를 묶은 school 함수를 정의하고, main에서 school();을 세 번 작성한 예제. 함수를 불러 쓰는 것을 호출이라고 함.
  • 결과는 CODE 9.1과 같은 K대학교 세 줄. 출력은 같고 코드의 짜임이 다른 차이. 상세 코드는 교재 CODE 9.2.
구분CODE 9.1CODE 9.2
코드 구성main 안에 같은 printf 세 번school 함수 정의 + 세 번 호출
학교 이름 수정세 줄 모두 고침school 함수 안의 한 줄만 고침

05호출하면 갔다가 돌아오는 실행 흐름교재 269p

  • main에서 school();을 만나면 school 함수를 호출하고, 프로그램의 실행 흐름이 school 함수로 이동.
  • school 안의 printf가 실행되어 K대학교 출력. school 함수가 끝나면 다시 main으로 돌아옴.
  • main에서 다음 school();을 만나 같은 과정을 반복. 호출을 세 번 만나므로 세 번 되풀이되어 세 줄 출력.

돌아오는 자리는 호출한 줄의 바로 다음

함수가 끝난 뒤 main의 처음부터 다시 시작하는 것이 아님. 방금 호출한 문장 바로 다음부터 이어서 실행되므로, 두 번째·세 번째 호출로 차례대로 진행됨.

06함수를 사용하는 이유와 다음 편교재 270p

  • 하나의 큰 프로그램을 여러 개의 작은 함수로 나누면 프로그램의 구조를 이해하기 쉬워짐.
  • 장점 네 가지 — 코드의 중복 감소, 이름만 보고 기능을 알 수 있는 가독성, 함수의 내용만 고치면 되는 수정 용이성, 입력·계산·출력처럼 기능별로 나눈 작성.
  • 반복문이 같은 자리에서 되풀이한다면, 함수는 필요한 자리마다 불러 쓰는 방식이라는 점이 구별점.
  • 이번 편은 함수를 불러 쓰는 모습까지. 함수를 직접 만드는 형식은 다음 편 9.1.2 함수의 정의와 호출에서 다룸.

이 절의 핵심 정리

  1. 함수는 특정 작업을 수행하는 코드들을 하나의 단위로 묶어 놓은 것이다.
  2. 함수를 사용하지 않으면 같은 코드를 여러 번 작성하고 수정할 때도 모두 고쳐야 한다.
  3. 함수를 호출하면 실행 흐름이 그 함수로 이동했다가 끝나면 호출한 곳으로 돌아온다.
  4. 함수를 사용하면 코드의 중복을 줄이고 프로그램을 읽고 수정하기 쉽게 만들 수 있다.
  5. 큰 프로그램을 기능별 함수로 나누면 전체 흐름을 쉽게 파악할 수 있다.
강의 자료9.1.1 함수의 기초 1 / 10

번호를 누르면 해당 장으로 바로 이동합니다 · 방향키 ← → 로도 넘길 수 있습니다
다음 절 · 9.1.2-1 함수의 정의와 호출 교재 271p~273p — 함수를 직접 만드는 정의의 기본 형식과 그 함수를 부르는 호출 형식 ↗

더 자세한 내용은 교재에서

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

댓글

이 블로그의 인기 게시물

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

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