elesis's haunt
[C] return 0, return -1, return 1 본문
단순히 0을 리턴, 1을 리턴, -1을 리턴한다는 의미입니다.
그러나 대부분 system call 형태의 함수들은 성공하면 0, 실패하면 -1로 저장합니다.
- system call: 운영체제는커널 모드와 사용자 모드로 나뉘어 구동합니다. 시스템콜은 커널 영역의 기능을 사용자 모드가 사용 가능하게, 즉 프로세스가 하드웨어에 직접 접근해서 필요한 기능을 사용할 수 있게 해줍니다.
return 0
- 정상 종료
성공, 실패만을 나타낼때 성공을 나타냅니다.
main 메서드 내에서 0을 반환하면 운영체체로 값을 반환하므로 에러 없이 프로그램이 종료됨을 나타냅니다.
실제적으로 반환의 의미보다는 현재 실행 중인 함수를 끝낸다는 의미로 쓰입니다.
return -1
- 에러 발생
성공, 실패만을 나타낼때 실패를 나타냅니다.
다른 값을 반환한다면 다른 결과 또는 에러를 알리거나 함수의 상태를 의미합니다.
음수가 아닌 리턴값은 다양한 형태의 성공상태를 알려주는데 쓰이고
음수는 에러 또는 다양한 에러상태를 나타내는데 쓰입니다.
출처 : https://kldp.org/node/44485 를 참조, 요약했습니다.
Comments