인프런 커뮤니티 질문&답변

Last Solution님의 프로필 이미지
Last Solution

작성한 질문수

C 프로그래밍 - 입문부터 게임 개발까지

계산기

함수 선언과 정의를 동시에 해도 되나요?

작성

·

896

0

//함수 선언
void p(int num);

int main(void)
{
int num = 2;
p(num);

return 0;
}

void p(int num) //함수 정의
{
printf("num은 %d입니다.\n",num);
}

이것이 책 본문에 나와 있는 내용입니다.

함수 선언따로 정의 따로 되어있는데요.

혹시 아래와 같이 선언과 정의를 동시에 해도 되나요?

//함수 선언 및 정의
void p(int num)
{
printf("num은 %d입니다.\n",num);
}

int main(void)
{
int num = 2;
p(num);

return 0;
}

답변 1

0

네 실행이 가능합니다. 함수를 선언 및 정의하는 부분이 사용되는 부분에 앞서 있으므로 정상적으로 실행됩니다. 다만 선언부와 정의하는 부분을 따로 나누는 것은 코드가 방대해졌을 때 가독성을 위한 것으로 알고 있습니다.

그리고

int main(void)
{
  int num = 2;
  p(num);

  return 0;
}

void p(int num)
{
  printf("num은 %d입니다.\n",num);
}

궁금해서 위의 코드처럼 선언 및 정의하는 부분을 main 아래로 내려서 실행해 보았는데 warning 메시지가 뜨지만 실행은 되네요. 환경에 따라서 실행나 컴파일이 안 될 수도 있겠다는 생각은 듭니다.

Last Solution님의 프로필 이미지
Last Solution

작성한 질문수

질문하기