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문이 삽입되는 경우도 간혹 있다고 한다.