반응형
반응형
재귀함수 함수를 정의할 때 함수가 자기 자신을 호출하여 사용할 수도 있는데 이를 재귀함수라고 한다. 이는 반복문과 같은 역할을 하지만 일반 반복문에 비해 속도도 매우 느리고, 대부분의 재귀함수는 반복문으로도 충분히 작성할 수 있기 때문에 개념적으로만 알아두자. 다음은 재귀함수를 통해 팩토리얼을 계산하는 예제이다. #include int factorial(int n) { if (n == 0) { return 1; } else // 함수 내에서 자기 자신인 함수를 호출하여 사용한다. return n * factorial(n - 1); } int main() { int n; printf("0이상의 정수 입력 : "); scanf("%d", &n); // (입력예시) 5 printf("%d! = %d", n, ..
선언한 함수를 사용하고 싶다면 함수의 이름과 필요한 인수를 적어주면 되고, 이를 호출이라고 한다. 함수는 프로그램의 어느 곳에서나(심지어 다른 프로그램에서도) 호출할 수 있다. 함수명(매개변수1, 매개변수2, ...); 예를 들어, 두 숫자를 더한 결괏값을 반환하는 함수를 만든다면, 더해야 할 두 숫자를 매개변수를 통해 전해주고 return을 사용해 두 숫자의 합을 반환해주면 된다. 그리고 이를 다음 예제와 같이 코드를 작성하여 구현할 수 있다. #include int plus(int x, int y) //x와 y가 함수 plus의 매개변수다. { return x+y; //x와 y의 합을 반환한다. } int main() { //2, 5가 인수이고, 함수에서 7이 반환되어 출력된다. printf("2 +..
함수 프로그래머는 어려운 문제를 더 단순하고 작은 문제로 나누고, 이를 통해 코드를 단계적으로 구체화할 수 있어야 한다. 이때 프로그램은 기본적으로 ‘함수’라는 기본 구성 요소로 이루어져 있는데, 이 함수를 통해 복잡하고 반복되는 코드를 줄일 수 있다. 함수는 C언어에서 기본적으로 제공하는 printf() 나 scanf()와 같은 표준 함수(standard functions)와 사용자의 필요에 따라 직접 코드를 만들어 사용하는 사용자 정의 함수로 나뉜다. 이번 포스팅에서는 사용자 정의 함수를 직접 만들어 사용하는 법을 배울 것이다. 사용자 정의 함수 선언 및 정의 방법 함수를 다루기에 앞서 프로그래밍에서 선언과 정의의 차이를 알아보자. 선언은 코드 내에 특정한 함수 또는 변수가 존재한다고 알리는 것이고,..