함수를 쓸려면 원형을 미리 선언해주어야 에러방지가 된다고 책에 나와있어요.그렇다면 main도 함수니까 원형을 선언해주어야 하지 않습니까?Main은 특수한 함수라서 그런가요? 이런 정보들은 책에 없네요 ㅜㅜ 문법 포인터만 가르치고..
이게 맞는지는 모르겠지만 뇌피셜로 말해줌
내가 알기로는 함수에서 다른 함수를 호출하려면 미리 그 함수가 선언되어있거나 정의가 되어있어야함
그래서 main이외의 함수에서도 다른 함수를 사용하려면 미리 정의된 함수가 있어야함
함수원형을 사용하지 않더라도, 다음과 같이 함수를 만들수있음
함수1() // 함수2() // ~~~~ 함수n() // main()
그런데, 함수원형을 사용하라는건 main함수 아래에 함수를 정의하고, 함수의 순서에 상관없이 어느 함수건 접근하기 위함이라고 생각함
한번 직접 코드를 짜보셈. 함수1() // 함수2() 를 main 위에서 정의하고 함수1() 에서 함수2()를 호출해보면 됨
내가 위에서 미리 정의하고 쓰면 상관없는데 아래에 함수를 써두면 main에서 그함수를보고 와func! 이거 아래에 있음! 하는게 아니라 이게뭐여? 난모르는 건디? 이러니깐 미리 선언으로 위에 해두는거임
추가 ) 내가 설명한 내용 맞음. 조금 더 정리해서 설명해 주자면, main함수는 모든 다른 함수들이 정의 혹은 선언된 상황에서 실행 됨. 그래서 main은 그 자체가 원형이라고 할 수 있음.
[ 함수의 원형 선언 // main함수 // 선언한 함수들 정의 ] 순서대로 코드를 짠다면, main함수가 실행되기전에 니가 짠 모든 함수들이 정의가 되는거.