C언어 - 재귀 호출
2020. 11. 10. 22:45ㆍ개인공부/C언어
void my_func(int);
int main()
{
my_func(1);
return 0;
}
void my_func(int n)
{
printf("Level %d, address of variable n = %p\n", n, &n);
my_func(n +1);
}
my_func가 자신을 호출하고 있다.
호출때마다 새로운 메모리를 차지하기 때문에 문제다.
void my_func(int n)
{
printf("Level %d, address of variable n = %p\n", n, &n);
if(n < 4 )
my_func(n +1);
}
종료될 조건을 같이 구현해줘야한다.
조건이 충족되지 않으면 종료된다.
void my_func(int n)
{
printf("Level %d, address of variable n = %p\n", n, &n);
if(n < 4 )
my_func(n +1);
printf("Level %d, address of variable n = %p\n", n, &n);// 돌아오는 과정
}
돌아오는 과정.
출처 : 홍정모의 따라배우는 C언어
'개인공부 > C언어' 카테고리의 다른 글
C언어 - 이진수 변환 예제 (0) | 2020.11.11 |
---|---|
C언어 - 팩토리얼 예제 (Factorial) (0) | 2020.11.11 |
C언어 - 지역변수와 스택 (0) | 2020.11.10 |
C언어 - 변수의 영역(scope)과 지역변수(Local) (0) | 2020.11.10 |
C언어 - 함수의 프로토 타입 (0) | 2020.11.10 |