프로그램/함수 리턴 의미 (return;) - 프로그램 혹은 함수의 리턴값 의미
CODEDRAGON ㆍDevelopment/C, C++
반응형
return;
- 반환 및 종료를 의미
- return문을 만나면 현재 함수를 종료하고 호출한 곳으로 이동합니다.
- 반환 값이 있을 경우 해당되는 반환값과 함께 호출한 곳으로 이동
- main()함수에서 return문을 만나면 해당 프로그램을 종료하게 됩니다.
return 형태
- return 0
- return 1
- return 2
- return -1
- return -2
return은 C언어의 키워드(예약어)로, 현재의 함수를 종료시키고 그 함수를 호출했던 곳으로 되돌아가라는 의미
return뒤의 숫자는 프로그램 혹은 함수의 리턴값을 의미합니다.
프로그램 혹은 함수의 리턴값 의미(일반)
리턴값 | 의미 |
0 | 정상 종료 |
-1 | 에러 발생 |
1이상 | 정상 종료 되었으나 다른 인자가 있음을 나타냅니다. |
-2이하 | 에러 발생했고 구체적으로 어떤 것인지 나타냅니다. |
1이상, -2 이하의 숫자로 표시하는 경우
- 구체적으로 어떤 내용을 외부에 알려줄 때 사용합니다.
- 이들 숫자들은 미리 정의해(약속해) 놓고 특정한 의미를 부여하여 처리하게 됩니다.
- 사용자 정의 함수에서는 그 함수가 하는 일에 따라서 리턴 값이 달라질수 있지만, main() 함수에서는 되도록 위의 리턴값 규칙에 따라 반환값을 정해야 합니다
배치파일에서 리턴값 사용
- main() 함수에서 에러가 발생한다면 0이 아닌 값, 예를 들어 1이나 2 또는 -1 등을 윈도우로 반환해야 합니다
- 그렇지 않으면 해당 프로그램을 배치 파일 ( .BAT) 등에서 사용할 때 문제가 발생할 수 있습니다.
- 배치 파일 안에서는, 방금 실행한 프로그램이 성공적으로 종료되었는지 아닌지 판단하기 위해, 그 프로그램의 반환값을 사용합니다. 반환값이 0이면 그 프로그램이 성공적으로 종료되었다고 판단하고 그 다음 작업을 계속 수행합니다. 0 이 아니면 에러가 있다는 의미이므로 에러에 대한 적절한 처리를 해 주면 됩니다.
// 성공적으로 프로그램이 종료 된다면... return EXIT_SUCCESS; // 사실 return 0; 과 같다. // 프로그램이 비정상적으로 종료 된다면.. return EXIT_FAILURE; // 사실 return 1; 과 같다. |
'Development > C, C++' 카테고리의 다른 글
비트 이동 연산자 - <<연산자(왼쪽 시프트 연산자), >>연산자(오른쪽 시프트 연산자) (0) | 2017.11.27 |
---|---|
파일 분할 컴파일, 파일 분할의 장점, 접근 금지시 static 키워드 사용 (0) | 2017.11.06 |
Ex21-자기 참조 구조체 예제 (0) | 2017.10.26 |
Ex20-자기 참조 구조체 (0) | 2017.10.21 |
Ex19-2차원 구조체 포인터 변수 사용 (0) | 2017.10.07 |