c언어 함수 프로토타입
- 프로그래밍/C언어
- 2017. 12. 17.
250x250
안녕하세요.
저번에는 c언어의 함수에 관한 내용중에서 return 문에 대한 것을 설명했습니다.
2017/12/16 - [IT/C] - c언어 return문
이번에는 함수 프로토타입이라는 것을 설명해드리려고 합니다.
함수 프로토타입이란?
함수 호출 방법만 별도로 기술한 것
즉 함수 헤더 정보만을 선언한 것입니다.
지금부터 함수 프로토타입의 예시를 보여드리도록 하겠습니다.
아래의 코드는 저번에 사용했던 return 문입니다.
#include <stdio.h>
double half(int x)
{
return (x/2.0);
}
int main()
{
int number;printf("숫자를 입력해주세요\n");
scanf("%d",&number);
printf("\n");
printf("%d의 반절은 %.1f입니다.",number,half(number));
getchar();
return 0;
}
double half(int x)
{
return (x/2.0);
}
int main()
{
int number;printf("숫자를 입력해주세요\n");
scanf("%d",&number);
printf("\n");
printf("%d의 반절은 %.1f입니다.",number,half(number));
getchar();
return 0;
}
위 코드는 double half(int x)를 정의한 코드입니다.
이 코드를 실행하면 입력한 숫자의 반절을 보여주게 됩니다.(이 내용은 이 글의 시작부분에보이는 return 문을 설명하는 곳에 있습니다.)
함수 프로토타입은 아래 코드와 같습니다.
#include <stdio.h>
double half(int x);
int main()
{
int number;
printf("숫자를 입력해주세요\n");
scanf("%d",&number);
printf("\n");
printf("%d의 반절은 %.1f입니다.",number,half(number));
getchar();
return 0;
}
double half(int x)
{
return (x/2.0);
}
double half(int x);
int main()
{
int number;
printf("숫자를 입력해주세요\n");
scanf("%d",&number);
printf("\n");
printf("%d의 반절은 %.1f입니다.",number,half(number));
getchar();
return 0;
}
double half(int x)
{
return (x/2.0);
}
위 코드를 보시면 알겠지만 double half(int x);를 먼저 선언하고 이 double half(int x);에 대한 구체적인 정의는 main 함수의 뒤에 나타냈습니다.
이것이 함수 프로토타입입니다.
물론 함수를 먼저 정의하고 사용하는 것이나 프로토타입을 먼저 선언하고 함수를 나중에 정의하는 것이나 효과는 동일하다는 것을 알아두시길 바랍니다.
동일한 결과.