프로그래밍

 3198, 1/160 회원가입  로그인  
   kuka7043
   http://x
   return 0; / return ; 이해가 안돼요..

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=3448 [복사]


안녕하세요...
아......질문게시판에 너무 저만 글을 쓰는거 같아 죄송합니다..
궁금한게 있거나 , 이해를 못하면 다음거를 못하는 성격이라 이렇게 궁금한걸 매일 물어봅니다..
혹시 따로 개인적으로 알려주실분 있으시면.. 쪽지나 답글 부탁드릴게요.ㅠ.ㅠ

말이 사공으로 갔네요 ㅎ


return 0 ; 이랑 return ; 다른 의미라고하는데요.
강의에서는 학교 다녀온것을 예로 들자면 return 0 ; 의 경우 "다녀왔습니다" 라고 어머니께 알리는 의미
return ; 의 경우는 조용히 집에 학교 갔다온 경우를 의미한다고하는데.. 이렇게 설명해줘도 이해를 못하겟어요ㅠ
0 ; 이것을 써도 되고 안써도된다는데..
0을 토해 프로그램이 정상적으로 종료되었는지 아닌지 파단을 하게된다고하고..
왜 써야되는지 이해를 할수가없습니다..ㅠ.ㅠ 써도되고 안써도된다면 왜 쓰는거죠 시간 아깝게..?

  Hit : 10143     Date : 2012/06/28 08:06



    
4irjuno return이 OS로 돌아가는거라고 알고있는데요 ...

0이랑 1이랑 돌아가는 모드가 다른걸로 알고있습니다.

책을 넘겨서 봐가주고 자세히는 모르겠 ;..
2012/06/28  
4irjuno ++ 써줘야 안정적으로 끝내지는거라고 들었던것 같은데 .. 2012/06/28  
kuka7043 그런가요..? 터무니 알수가 없군요...ㅠ.ㅠ 2012/06/29  
key return; 은 void function(...) 에서 쓰입니다. void 형 함수이기 때문에 return이 필요 없지 않습니까?
라고 생각 할 수 있는데, 한가지 예를 들면 아래와 같은 특정 조건에서 리턴해야 하는 경우 필요합니다.

void function(...)
{
...
if (어떤상황) {
...
return;
}
...
...
}
2012/06/29  
보안왕 나중에 함수 만들때 리턴을 반환하는 함수라고 그러는데 return 0 은 0을 반환해서 끝내는거에요.

지금 꼭 이해하려고 하지말고 쭉 훑어보는식으로 한번보세요 나중에 아 이게 이거구나 하는 생각이

들거에요
2012/06/30  
canto87 key 님이 제대로 말씀해 주셨네요..

보통 return; 을 사용 하는 건 void형 함수내에서 루프문을 종료시킬때 사용합니다.

그리고 보통 0은 성공 / 1은 실패의 경우 리턴치로 사용하는 경우가 많습니다.
2012/07/03  
wolverine return 0 와 return은 전혀 다른 의미 입니다.

만약 int func1(void) 라는 prototype을 가지는 함수라면,
return 0와 같이 정수 값만 반환이 가능합니다.
이 함수 내에서 return; 을 쓰게 되면, compile error가 발생합니다.
경우에 따라서 compile error가 아닌 warning으로만 끝나는 경우도 있는데,
이런 경우 program이 돌아가더라도 run-time error가 발생할 수 있습니다.

반대로, void func2(void) prototype을 가지는 함수에서
return 0;을 쓰게되면, compile error가 발생합니다.

함수의 목적에 따라서 return 값이 필요하지 않을 경우는 void 반환형을 쓰고,
return 값이 필요할 때에는 정확한 반환형을 써주면 됩니다.

만약 a,b를 더하라는 함수를 만든다면, 가장 쉽게는

int add(int a, int b)
{
return (a+b);
}
라고 만들고,

int sum;
sum = add(10,20);
이라고 사용할 수 있을 겁니다.

이 함수를 void로 만들면,

void add(int a, int b, int *c)
{
*c = a+b;
return;
}
라고 만들고,

add(10,20,&sum);
이라고 사용할 수 있습니다.

두가지 경우 모두 sum에 30이라는 결과값이 저장이 됩니다.
2012/07/05  
ka0r1 return;는 함수의 종료를 의미하는 거고
return 0;는 0이라는 인자를 리턴하는 겁니다.
2012/07/22  
is6277kh 저도 보완왕님의 댓글에 동의 해여ㅎㅎ 2012/07/25