강의를 듣다가, 교재는 전부 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;을 쓰는 것이 바람직하겠다.
무지랭이를 도와주셔서 감사합니다. 출처