Notice
Recent Posts
Recent Comments
Link
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Tags
more
Archives
Today
Total
관리 메뉴

archive

C언어 exit(0), exit(1) 함수 개념 정리 본문

C \ C++/C 개념 정리

C언어 exit(0), exit(1) 함수 개념 정리

안정민 2023. 4. 8. 11:12

exit()함수stdlib.h 헤더파일을 include하여 사용.

commit과 같이 현재 C언어로 작성된 프로세스내 파일 입출력 중인 것을 저장 + 함과 동시에

프로세스를 모두 종료하며 운영체제에게 권한을 넘긴다.

 

exit(0)은 '정상종료', exit(1)은 '에러메시지 종료' 

(각각 EXIT_SUCCESS, EXIT_FAILURE 로 미리 정의되어 있기 때문)

 

return 은 일반 함수 속에서 return 문을 사용하면 그 함수만 종료되지만,

main() 함수 속의 return 문은 프로그램 전체를 중지시킵니다.

 

main() 함수에서 return하는 것 = exit(0) 같다.

 

둘의 차이는 

exit()함수는 바로 프로세스 종료.

return 은 뒤 문장을 실행하며 종료.

 

C에서 exit() 이라는 함수는, 현재의 C프로그램 자체를 완전 종료하는 기능을 가집니다. 주로, 에러가 났을 때 강제 종료시키기 위해 if문 속에서 사용됩니다. 종료하기 전에 또한 "모든 열려진 파일"들을 자동으로 닫습니다. 출력 버퍼 속에 데이터가 있으면 그것을 쓰기 완료시킵니다. 즉, 모든 것을 잘 정리해 놓고 종료합니다.

그리고 exit(123) 이렇게 괄호 속에 int형 정수 숫자를 넣어주면 그 숫자를 운영체제에 반환합니다. 즉 "에러 코드"를 반환합니다. 에러 없이 정상 종료할 때에는 exit(0) 이렇게 0을 반환하고, 에러가 나서 종료할 때에는 0이 아닌 숫자, 대체로 1을 반환합니다.

exit() 함수를 사용하기 위해서는 stdlib.h 헤더파일을 인클루드해 주어야 합니다. 그렇지 않으면 error C3861: 'exit': identifier not found 라는 에러가 발생합니다.

'C \ C++ > C 개념 정리' 카테고리의 다른 글

C언어 goto문 개념정리  (0) 2023.03.30
rand(), srand() 함수 개념 정리  (0) 2023.03.21
qsort() 함수  (0) 2023.03.21
strtok() 함수 개념  (0) 2023.03.21
[C언어 개념] 포인터 2  (0) 2022.06.29