함수의 실행 흐름과 함수 원형 — 호출과 복귀·print_line 함수·Function Prototype | 기초 C언어 9.1.2-2
기초 C언어Chapter 09 함수 › Section 01 함수의 기본 이해
9.1.2-2 실행 흐름과 함수 원형
main에서 시작해 호출된 함수로 갔다가 돌아오는 실행 흐름. main 뒤에 정의한 함수를 호출하기 위해 앞에 먼저 쓰는 함수 원형.
영상 목차 · 원하는 부분부터 보기
01호출하면 갔다가 돌아오는 흐름교재 273p
- 앞 편 CODE 9.4에서는 main이 add(5, 3)을 만나 add 함수로 이동했다가 반환값을 들고 돌아옴. 이번 편은 그 실행 흐름 자체와 함수 원형.
- C 프로그램은 main 함수에서 실행을 시작. 2.1.3에서 본 시작점과 같은 뜻.
- 실행 중 함수 호출문을 만나면 실행 흐름은 호출된 함수로 이동하고, 그 함수가 끝나면 호출했던 위치로 돌아옴.
02CODE 9.5 — print_line 함수교재 274p
- 선을 출력하는 printf 하나를 묶은 void형 print_line 함수와, 시작 문구·호출문·종료 문구를 차례로 둔 main 함수로 이루어진 예제.
- print_line은 호출된 함수, main은 호출하는 쪽. 이름 속 밑줄은 4.1.2에서 본 대로 식별자에 쓸 수 있는 문자. 상세 코드는 교재 CODE 9.5.
03시작 → 선 → 종료의 출력 차례교재 274p
- 실행 결과는 프로그램 시작 / 빼기 기호를 이은 선 / 프로그램 종료의 세 줄.
- 맨 위 줄과 맨 아래 줄은 main이, 가운데 선은 print_line 안의 printf가 출력한 결과.
- 동작 순서는 main 실행 → 시작 문구 출력 → print_line 호출 → 선 출력 → main으로 복귀 → 종료 문구 출력.
코드의 위치가 아니라 실행 흐름의 차례
print_line의 정의가 main보다 위에 적혀 있어도 먼저 출력되지 않음. 실행은 언제나 main에서 시작하고, 정의된 함수는 호출되는 순간에만 실행되므로 출력은 실행 흐름의 차례를 그대로 따름.
04함수 원형(Function Prototype)교재 275p
- C언어에서는 함수를 호출하기 전에 컴파일러가 함수의 형태를 알고 있어야 함. 컴파일러는 코드를 첫 줄부터 차례로 읽기 때문.
- main 함수보다 뒤쪽에 함수를 정의할 때는 main 앞에 함수 원형을 먼저 작성. 함수의 형태를 미리 알려 주는 선언.
- 원형은 정의의 첫 줄과 같은 꼴이지만 중괄호 몸체 대신 세미콜론으로 끝남.
| 원형에 작성하는 것 | CODE 9.6의 예 |
|---|---|
| 반환 자료형 | int |
| 함수 이름 | add |
| 매개변수 자료형 | int a, int b |
05CODE 9.6 — 원형 먼저, 정의는 나중교재 275p
- main 앞에
int add(int a, int b);원형을 두고, main 안에서 add(10, 20)을 호출하며, add의 정의는 main 뒤에 둔 예제. 실행 결과는 result: 30. 상세 코드는 교재 CODE 9.6. - add가 나오는 세 곳의 작성 차례는 원형 → 호출 → 정의. 원형이 먼저 있으므로 정의보다 앞에서도 호출 가능.
원형은 직접 쓰는 사용 설명서
2.1.2에서 헤더 파일 속 선언을 사용 설명서에 빗댄 것처럼, 함수 원형은 직접 만든 함수의 설명서를 컴파일러에게 먼저 건네는 구실. 원형 끝의 세미콜론을 빠뜨리지 않도록 주의.
069.1 정리와 다음 편교재 273~275p
- 실행은 main에서 시작하고, 호출문을 만나면 호출된 함수로 이동했다가 끝나면 호출했던 위치로 돌아옴.
- main 뒤에 정의하는 함수는 main 앞에 반환 자료형·함수 이름·매개변수 자료형을 적은 원형을 먼저 작성.
- 함수의 기본은 여기까지. 다음 편 9.2.1에서는 함수가 돌려주는 반환값과 건네받는 매개변수를 다룸.
이 절의 핵심 정리
- C 프로그램은 main 함수에서 실행을 시작한다.
- 함수 호출문을 만나면 실행 흐름은 호출된 함수로 이동하고, 함수가 끝나면 호출했던 위치로 돌아온다.
- 컴파일러는 함수를 호출하기 전에 그 함수의 형태를 알고 있어야 한다.
- main 함수 뒤에 정의하는 함수는 main 앞에 함수 원형을 먼저 작성한다.
- 함수 원형에는 반환 자료형, 함수 이름, 매개변수 자료형을 적고 세미콜론으로 끝낸다.
강의 자료9.1.2-2 실행 흐름과 함수 원형
1 / 10
번호를 누르면 해당 장으로 바로 이동합니다 · 방향키 ← → 로도 넘길 수 있습니다

댓글
댓글 쓰기