10일차 - 함수

💯 Days of Code의 10일차가 끝나갈 무렵 저는 함수, 더 나은 코드 작성 기술, 재귀의 기본 개요에 대해 배웠습니다.

소개



Afunction는 특정하고 잘 정의된 작업을 수행하는 독립적인 프로그램 세그먼트입니다. 모든 C 프로그램은 하나 이상의 함수로 구성됩니다. 이러한 함수 중 하나를 호출해야 합니다main. 프로그램 실행은 항상 main의 명령을 수행함으로써 시작됩니다. 추가 기능은 main에 종속되고 아마도 서로에 종속될 것입니다.

일반적으로 함수는 프로그램의 호출 부분에서 전달된 정보를 처리하고 단일 값을 반환합니다. 정보는 arguments(parameters라고도 함)라는 특수 식별자를 통해 함수에 전달되고 return 문을 통해 반환됩니다. 그러나 일부 함수는 정보를 받아들이지만 아무 것도 반환하지 않는 반면(예: 라이브러리 함수 printf), 다른 함수(예: 라이브러리 함수 scanf)는 여러 값을 반환합니다.


함수 정의



함수 정의의 첫 번째 줄에는 함수가 반환한 값의 type specification, 함수 이름 및 (선택 사항) (선택 사항) 쉼표로 구분되고 괄호로 묶인 a set of arguments가 포함됩니다. 각 인수 앞에는 연관된 유형 선언이 옵니다. 함수 정의에 인수가 포함되어 있지 않으면 빈 괄호 쌍이 함수 이름 뒤에 와야 합니다.

구문 -

data-type name(type 1 arg 1, type 2 arg 2, . . ., type n arg n)


예시:

#include <stdio.h>

int add(int _num1,int _num2) {
    return _num1+_num2;
}

void main() {
    int sum = add(24,86);
    printf("%d",sum); // 110
}



함수에 액세스



함수는 괄호로 묶고 쉼표로 구분된 인수 목록이 뒤에 오는 이름을 지정하여 액세스(즉, 호출)할 수 있습니다. 함수 호출에 인수가 필요하지 않은 경우 빈 괄호 쌍이 함수 이름 뒤에 와야 합니다.


재귀



재귀는 지정된 조건이 충족될 때까지 함수가 자신을 반복적으로 호출하는 프로세스입니다. 이 프로세스는 각 작업이 이전 결과에 대해 설명되는 반복 계산에 사용됩니다.

예 - 계승 계산

#include <stdio.h>

long int factorial(int n) {
    if (n <=1) return 1;
    else return (n * factorial(n - 1));
}

void main() {
    printf("%d\n", factorial(5)); // 120
}

좋은 웹페이지 즐겨찾기