함수 프로토타입
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;
}프로토타입이 없으면, 함수 정의 전에 함수를 호출할 경우 컴파일러 오류가 발생합니다.
챌린지
쉬움다음과 같은 프로그램을 작성하세요:
- 두 개의 정수(length와 width)를 매개변수로 받아 정수를 반환하는
calculateArea라는 이름의 함수 프로토타입을 선언합니다. - 면적(length × width)을 계산하여 반환하도록 함수를 구현합니다.
- 메인 함수에서 사용자로부터 두 개의 정수를 입력받고,
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;
}
// 여기에 함수를 구현하세요이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.