프로그램/함수 리턴 의미 (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; 과 같다.

   

반응형