C, C++

재귀함수, 포인터

swchung09 2025. 4. 14. 09:37

재귀 함수는 함수 내부에서 자기 자신을 재귀적으로 호출하는 함수이다. 예)

void hello(int n){
    if (0 < n){
    	printf("hello");
        hello(n-1);
    }else{
    	return;
    }
}

이 함수에서는 n이 0이 될때 까지 재귀적으로 hello를 호출한다.


재귀 함수의 대표적인 예에는 팩토리얼과 피보나치 수열이 있다.

https://swchung09.tistory.com/38

 

27433번, 팩토리얼 2

https://www.acmicpc.net/problem/27433이 문제는 정수 N을 줄때, N 팩토리얼을 출력하는 문제이다.팩토리얼은 1부터 N까지의 곱을 의미한다. 따라서 5 팩토리얼이면, 5*4*3*2*1=120이다.이 코드를 짜기 전, C에서

blog.aiswstudio.com

https://swchung09.tistory.com/39

 

10870번, 피보나치 수 5

https://www.acmicpc.net/problem/10870이 문제는 n을 주면, n번째 피보나치 수를 구하는 문제이다.우선 이전에 풀었던 문제인 팩토리얼 2를 응용해서 풀거기 때문에, unsigned long int는 그대로 사용하겠다.우

blog.aiswstudio.com


다음은 C언어 계열에서 빠질 수 없는 개념, 포인터이다.

포인터는 어떤 변수의 주소를 저장하는 변수이다.

포인터 기호는 *과 &가 있다. *는 포인터 변수가 가르키는 주소의 값을 가져오는 기호이고, scanf에서 자주 보이는 &는 변수의 주소값을 가져오는 기호이다. 예)

int test = 0;
int* test_p = &test;

배열은 배열의 첫 번째 값의 주소를 가르키기 때문에, 포인터 변수를 통해 배열을 사용할 수 있다.

따라서 arr = &arr = &arr[0]이다.

'C, C++' 카테고리의 다른 글

동적 할당, 구조체  (0) 2025.04.15
배열, 변수(전역, 지역), 함수  (0) 2025.04.08
C 기본 문법  (0) 2025.04.06
포멧 문자  (0) 2025.04.02