강의를 듣다가, 교재는 전부 void main()
이고 인터넷에서 찾아본 예제는 int main()
이라서 무슨 차이가 있는지 궁금했다.
일단 파악한 차이점은 이거다.
void main()
은 함수 끝에 return이 없어도 됨int main()
은 함수 끝에 return이 있어야 함
그러나 이것은 단순히 현상을 관찰한 것이지 이유는 여전히 모르겠어서 따로 더 찾아봤다.
C언어 표준을 따르려면 int main()
으로 사용하는 게 맞다. 그런데 int main()
함수에서 리턴하는 return 0;
이 값은 활용도가 떨어져 괜히 한 줄 더 써야하는 수고로움만 주다보니 개발 편의성을 위해 void main()
을 허용한 것이라고 한다.
하지만 비표준 문법이 하나씩 사라지는 추세라 void main()
을 지원하지 않는 컴파일러가 늘고 있다 하니 int main()
과 return 0;
을 쓰는 것이 바람직하겠다.
무지랭이를 도와주셔서 감사합니다. 출처