exit(0)과 exit(1)의 차이


함수를 작성하다가, exit(0)과 exit(1)을 모두 사용하는 것을 봤다. 프로그램을 종료하는 함수인 것은 알지만, 어떤 차이가 있는것일까..?


exit()함수는 stdlib.h 헤더에 포함되어 있으며, 현재의 C 프로그램 자체를 완전히 종료한다. 종료하기 전 열려진 모든 파일을 자동으로 닫아주고, 출력 버퍼 속에 데이터가 있으면 그것을 완료시키고 잘 정리한 후 종료시키다.

return을 일반 함수에서 사용하면 그 함수만 종료되지만, main문에서 사용하면 그 프로그램 자체를 종료시킨다.

main 문에서의 return(0) 은 exit(0)과 같은 의미를 가진다. 즉, 프로그램이 모두 실행되고 정상 종료되는 것을 의미할 땐 **exit(0)**을 사용한다.

하지만 실행 중간의 에러가 발생할 시 에러로 인한 **강제종료는 exit(1)**을 해주어야 한다.


<aside> ➡️ exit() 함수에 대해 수정/추가 할 내용이 있으시다면 댓글 or 아래에 추가로 자유롭게 글 적어주세요!

</aside>