함수의 전방선언이란 무엇인가? 알아보자.
이렇게 하면 해결된다.
#include <stdio.h>
void meow(); // (1)
void woof(); // (2)
void woof() { // 강아지,멍멍
meow();
printf("멍멍\\r\\n");
}
void meow() { // 고양이,야옹
woof();
printf("야옹\\r\\n");
}
int main() {
woof();
meow();
return (0);
}
별거 아닌것 처럼 보이는데, 굉장히 중요하다. 잘 기억해놓자.
이렇게 함수를 앞에서 선언해 놓는 것을 전방 선언(Forwad Declration)이라고 한다.
(2)는 굳이 할 필요는 없는데, 개인적으로 다 적어놓는다.
왜냐면 main에서 woof(), meow() 순서가 바뀔수도 있기 때문이다.
전방선언이란 위와 같이 함수의 존재를 컴파일러에게 미리 알려주는 것이다.
전방 선언(forward declarations)이란 실제 식별자(Identifier)를 정의하기 전에 컴파일러에게 식별자의 존재를 미리 알리는 것이다.