반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 자바
- 바이크
- Qt4
- 엑티브엑스
- Java
- 마영전
- 스타크래프트2
- android SAF
- 스타2
- 고속도로
- 자료구조
- 안드로이드
- Qt OpenGL
- 오토바이
- qt 설치
- Qt 소켓프로그래밍
- 이륜차
- c언어
- 잡담
- 디자이어HD
- 재귀함수
- QTcpServer
- vuejs
- 양평역
- 윈도우7
- FFI
- QT
- 알람프로그램
- 정성하
- HTML
Archives
- Today
- Total
프로그래밍과 잡담
[C언어] 재귀 함수 본문
재귀 함수란?
자기 자신을 자기가 호출을 하는걸 보고 재귀 함수한다.
예제)
void t( )
{
t();
}
예제와 같은 형태를 가진 함수를 보고 재귀함수한다.
물론 저렇게 실행하면 무한루프에 빠져서 컴이 에러난다.
재귀함수를 사용할때는 함수의 끝나는 조건을 잘 써야한다.
종료 조건을 제대로 안하면 무한 루프에 빠져서 프로그램이 멈춘다.
재귀 함수의 장점은 함수가 간략해 진다는 장점이 있는데
단점은 햇갈린다. 자기가 자신을 호출하다보니 햇갈리는 문제가 생긴다.
예제)
int power(int i, int n)
{
if( n == 1)
return i;
else
return power(i*2,n-1);
}
위에 예제는 2^n 을 하는 재귀 함수이다.
재귀함수는 상당히 보기가 짜증나기 때문에 공책을 준비 하고
그리면서 하는게 좋다.
함수는 끝이 나면 자기를 부른곳으로 돌아간다.
끝.... 계속 하다보면 이해가 간다..
자기 자신을 자기가 호출을 하는걸 보고 재귀 함수한다.
예제)
void t( )
{
t();
}
예제와 같은 형태를 가진 함수를 보고 재귀함수한다.
물론 저렇게 실행하면 무한루프에 빠져서 컴이 에러난다.
재귀함수를 사용할때는 함수의 끝나는 조건을 잘 써야한다.
종료 조건을 제대로 안하면 무한 루프에 빠져서 프로그램이 멈춘다.
재귀 함수의 장점은 함수가 간략해 진다는 장점이 있는데
단점은 햇갈린다. 자기가 자신을 호출하다보니 햇갈리는 문제가 생긴다.
예제)
int power(int i, int n)
{
if( n == 1)
return i;
else
return power(i*2,n-1);
}
위에 예제는 2^n 을 하는 재귀 함수이다.
재귀함수는 상당히 보기가 짜증나기 때문에 공책을 준비 하고
그리면서 하는게 좋다.
함수는 끝이 나면 자기를 부른곳으로 돌아간다.
끝.... 계속 하다보면 이해가 간다..
반응형
'프로그래밍 > C,C++, Win32Api' 카테고리의 다른 글
[C언어] 함수 포인터 (0) | 2009.07.09 |
---|---|
[C++] 오버로딩(overloading), 오버라이딩(overriding) (0) | 2009.03.31 |
[C언어] 기초 8 (0) | 2009.03.14 |
[C언어] 기초 7-1 (0) | 2009.03.14 |
[C언어] 기초 7 (0) | 2009.03.14 |
Comments