728x90
반응형
안녕하세요 오늘도 지난 시간에 이어 함수의 마지막 내용을 보도록 하겠습니다. 오늘은 함수를
특정 조건에서 리턴 하는 것을 알아보도록 하겠습니다. 리턴은 함수에서 나가는 것으로 쓰이는데요
메인 함수에서 return 0; 는 메인 함수에서 0을 리턴 하고 나간다는 의미 입니다. 이를 이용해서
함수를 특정 조건에서만 리턴 하게 하는 것을 만들수 있습니다. 예를 들어 hello world 를 여러번
출력 하는데 반복제어문을 사용 하지 않고 출력할수 있다는 의미 입니다. 이를 이용하면 코드의
전체적은 길이를 줄일수도 있고 그를 통해 코드의 전체적인 복잡성을 낮출수 있습니다. 그러면 바로
한번 해보도록 하겠습니다.
#include <stdio.h>
void test(int num)
{
if(num < 1)
{
return;
}
test(num-1);
printf("Hello World\n");
}
int main()
{
test(10);
return 0;
}
우선 이 코드를 보면 test 라는 함수가 있습니다. 그리고 메인 함수에서 num 에다가
10 을 넣어 줍니다. 그러면 1 보다 작은지 확인 하고 그렇지 않기 때문에 다음 코드를
실행 합니다. 그러면 10 을 9 로 바꾸어 주고 프린트를 합니다. 이렇게 되다가 만약에
1 번째를 출력 하고 0 이 되면 출력을 멈추고 리턴을 합니다. 이 경우에는 구체적인
리턴값이 필요하지 않기 때문에 그냥 return 0; 을 해줍니다. 이런 방식을 재귀함수라고
부릅니다 재귀함수는 자기 자신을 안에서 불러오는것이 일반적입니다. 자기 자신을
다시 사용 하기 때문에 recursive (재귀) 라는 말로 불립니다. 이렇게 되면 별도의
코드를 사용 하지 않고 자기 자신을 출력 하면 되기 때문에 비교적 깔끔하게
코드를 작성 할수 있습니다.
'C, C++' 카테고리의 다른 글
15 : c/c++ 강좌 "문자열 1" (0) | 2022.02.14 |
---|---|
13 : c/c++ 강좌 "함수 2" (0) | 2022.02.11 |
12 : c/c++ 강좌 "함수 1" (0) | 2022.02.08 |
11 : c/c++ 강좌 "배열 2" (0) | 2022.02.07 |
10 : c/c++ 강좌 "배열 1" (4) | 2022.01.21 |