본문 바로가기

programming language/C 언어

오늘 공부한 c언어 함수

 

11행에서 Add 함수를 호출했다.  그러면! Add 함수의 영역으로 실행의 흐름이 이동한다. 물론, 호출된 함수가 반환을 하면 잠시 멈췄던 main 함수의 실행 흐름은 다시 이어진다.

 

반환형이 void로 선언된 함수는 return문을 사용할 수 없을까?

아니다. 반환형이 void인 함수에서도 return문을 사용할 수 있다.

ex)

void NoreturnType(int num)

{

if(num<0)

return;  //값을 반환하지 않는 return문이다. (이  return문에는 반환할 값이 명시되어있지 않다!)

~~~~~~

}

그럼 의문이 드는데 값을 반환하지 않는데 왜 return을 사용할까?

 

*return문은 2가지 의미가 있는데

1. 함수를 호출한 영역으로 값을 전달(반환)  <값을 반환한다!>

2. 현재 실행 중인 함수의 종료(함수를 빠저 나간다!)

 

이 문장에서는 값의 반환 없이 그냥 함수를 빠져나간다! 의 의미로 사용이 되었다.

실제로 void인 함수에 이런 return문이 삽입되는 경우도 간혹 있다고 한다.