정처기 감자
C언어함수

검색

검색어를 입력해 개념, 문제, 필기를 찾습니다.

C언어 함수 프로토타입

코딩C언어
읽는데 4분 소요
처음 쓰여진 날: 2026-03-18
마지막 수정일: 2026-03-21
조회수: —
선수학습(1개)
  • 함수의 기초

요약

C언어 함수 프로토타입(Function Prototype)의 개념과 사용법을 알아봅니다. 함수 선언과 정의의 차이, 프로토타입이 필요한 경우와 작성 방법을 정리합니다.

이 글은 함수의 기초를 이해하고 있다는 전제로 작성되었습니다. 매개변수와 반환값이 아직 익숙하지 않다면 함수 페이지를 먼저 읽어보세요.

함수 프로토타입 핵심 정리

개념설명예시
함수 프로토타입함수의 반환형, 이름, 매개변수 타입만 미리 선언하는 것int gamja(int, int);
필요한 이유컴파일러 1가 코드를 첫째 줄부터 순서대로 읽기 때문에, 함수 정의가 호출보다 아래에 있으면 함수를 모름함수 정의가 main 아래에 있을 때
작성 방법함수 정의에서 본문을 빼고 세미콜론(;)으로 끝냄int gamja(int a, int b);

함수 프로토타입이란? 쌩기초

함수 프로토타입 (Function Prototype)은 함수를 미리 선언하는 것입니다. "이런 함수가 아래에 있으니 사용해도 된다"고 컴파일러에게 알려주는 역할입니다.

prototype은 "원형", "시제품"이라는 뜻입니다. 제품을 만들기 전에 미리 만드는 시제품처럼, 함수의 전체 코드를 작성하기 전에 이름, 매개변수, 반환형만 미리 알려주는 것이 함수 프로토타입입니다.


프로토타입 없이 사용하는 경우 쌩기초

함수 정의가 호출보다 위에 있으면 프로토타입 없이도 정상 작동합니다. 컴파일러가 코드를 위에서 아래로 읽기 때문에, main에서 gamja를 호출할 때 이미 gamja를 알고 있습니다.

c
코드 하이라이팅 중…

프로토타입이 필요한 경우 기초

함수 정의가 호출보다 아래에 있으면, 컴파일러가 함수를 모르기 때문에 프로토타입이 필요합니다.

c
코드 하이라이팅 중…
프로토타입 없이 아래에 정의하면?
프로토타입 없이 함수 정의를 main 아래에 두면 컴파일러가 함수를 찾지 못합니다. 시험에서 프로토타입이 보이면 '아래에 함수 정의가 있구나'라고 이해하면 됩니다.

프로토타입 작성 방법 기초

함수 정의에서 본문을 빼고 세미콜론(;)만 붙이면 됩니다.

c
코드 하이라이팅 중…
구분형태본문세미콜론
프로토타입 (선언)int gamja(int a, int b);없음있음
함수 정의int gamja(int a, int b) { ... }있음없음
시험에서는 프로토타입이 생략된 경우가 많습니다
정보처리기사 실기에서는 함수 정의가 main보다 위에 있는 코드가 대부분이라 프로토타입이 나오지 않는 경우가 많습니다. 하지만 프로토타입이 등장하면 '아래쪽에 함수 정의가 있구나'라고 이해하면 됩니다.

프로토타입과 헤더 파일 기초

printf, scanf 같은 표준 함수를 사용할 때 #include <stdio.h>를 작성하는 이유도 같은 원리입니다. stdio.h 헤더 파일에는 printf 등의 프로토타입이 들어 있어서, 컴파일러가 이 함수들을 알 수 있게 됩니다.

즉, #include는 다른 파일에 있는 프로토타입을 가져오는 것입니다.


Footnotes

  1. 컴파일러는 사람이 작성한 코드를 컴퓨터가 실행할 수 있는 형태로 번역하는 프로그램입니다. ↩


메가커피와 함께, 홈페이지 개선에 참여하세요! ☕
혹시 이용에 불편한 점이나 개선이 필요한 부분을 발견하셨나요? 댓글로 알려주시면 더 나은 감자가 될 수 있어요! 🥔 제보해주신 모든 분께 메가커피 기프티콘을 드립니다! (본인 이메일로 댓글 달아주셔야해요~)
후수학습(1개)
  • C언어 함수 포인터 (Function Pointer)

추천 개념

Beta

관련 글

(41개)
제목태그업데이트시험
C언어 형변환 (Casting)
C언어코딩C언어
2026-05-15-
C언어 연결 리스트 뒤집기 (Reverse Linked List)
C언어코딩C언어
2026-05-06-
C언어 사용자 정의 함수 기초
C언어코딩C언어
2026-05-06-
정처기 감자정처기 감자

정보처리기사 합격
도와줄라고 하는 감자

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 1회 이론 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 1회 이론 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매
© 2025 재현기획개발. All rights reserved.
  • 정처기 감자의 시작
  • 업데이트 로그
  • 개인정보 처리방침
  • 이용약관
상호명 : 재현기획개발 / 주소: 서울특별시 영등포구 영등포로 150, 지하1층 108호 L145 가라지(당산동1가, 생각공장 당산) / 대표: 김재현 / 전화: 010-8158-7127 / 통신판매업신고: 제2025-서울영등포-1569호 / 이메일: contact@edugamja.com / 사업자등록번호: 573-51-00999