Menu
Coddy logo textTech

함수 프로토타입

Coddy C 여정의 Fundamentals 섹션에 포함된 레슨 — 63개 중 51번째.

C 언어에서, 함수를 사용하기 전에 선언할 수 있습니다. 함수 프로토타입은 실제 함수가 정의되기 전에 컴파일러에게 함수의 이름, 매개변수 및 반환 유형에 대해 알려줍니다.

두 개의 정수를 더하는 함수의 함수 프로토타입을 작성하세요:

int add(int a, int b);

그런 다음 함수를 정의합니다:

int add(int a, int b) {
    return a + b;
}

프로토타입은 보통 main 위에 위치하고 함수 자체는 main 아래에 위치하므로, 코드가 더 깔끔해 보입니다.


이제 main 함수에서 이 함수를 사용할 수 있습니다:

int main() {
    int result = add(5, 3);
    printf("%d", result);
    return 0;
}

프로토타입이 없으면, 함수 정의 전에 함수를 호출할 경우 컴파일러 오류가 발생합니다.

challenge icon

챌린지

쉬움

다음과 같은 프로그램을 작성하세요:

  1. 두 개의 정수(length와 width)를 매개변수로 받아 정수를 반환하는 calculateArea라는 이름의 함수 프로토타입을 선언합니다.
  2. 면적(length × width)을 계산하여 반환하도록 함수를 구현합니다.
  3. 메인 함수에서 사용자로부터 두 개의 정수를 입력받고, calculateArea를 호출하여 그 결과를 출력합니다.

치트 시트

함수 프로토타입은 함수가 정의되기 전에 함수를 선언하여, 컴파일러에게 함수의 이름, 매개변수 및 반환 타입을 알려줍니다:

int add(int a, int b);

그런 다음 함수를 정의합니다:

int add(int a, int b) {
    return a + b;
}

프로토타입은 보통 main 함수 위에 배치되며, 함수 정의는 main 함수 아래에 위치합니다:

int add(int a, int b);  // 프로토타입

int main() {
    int result = add(5, 3);
    printf("%d", result);
    return 0;
}

int add(int a, int b) {  // 정의
    return a + b;
}

프로토타입이 없으면, 함수를 정의하기 전에 호출할 경우 컴파일러 오류가 발생합니다.

직접 해보기

#include <stdio.h>

// 여기에 함수 프로토타입을 작성하세요

int main() {
    // 변수를 선언하고 읽어옵니다
    
    // 함수를 호출하고 결과를 여기에 출력하세요
    
    return 0;
}

// 여기에 함수를 구현하세요
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Fundamentals의 모든 레슨