본문 바로가기

2021 정보처리기사/참고자료: 정보처리기사

[C언어 기초] 함수

728x90
반응형

함수

개요

✔ 기능별로 구분하여 반복적으로 재사용할 수 있는 작은 프로그램 코드

✔ 정의된 함수를 호출하여 반복적으로 사용

✔ 반복문과의 차이점은 반복을 한 번에 다 하는 것이 아니라 그때 그때 필요할 때만 호출할 수 있다는 점

 

✔ main 함수 블록 바깥에서 정의, 블록 안에서 호출한다

✔ main 함수 내에서 함수 호출 ➡ main 함수 진행 일시정지 ➡ 호출된 함수 진행 ➡ main함수 진행

✔ 함수 호출 시 필요한 인수 전달 가능(선택적)

✔ 기본 라이브러리(미리 만들어 둔 함수) 제공

✔ #include <라이브러리 파일>

 

 

#include <stdio.h>

        // (1) 함수 정의된 상태로 main 함수 시작
    int 함수명()
    {
        // (3) 호출된 함수 진행
        실행될 코드
    }

    int main()
    {
        // (2) 다른 함수가 호출되면 main 함수 일시 정지
    함수명();
        // (4) main 함수 진행
    return 0;
}

 

 

 

 

리턴값이 있는 함수의 정의와 호출

✔ 함수의 결과를 호출 위치로 돌려받는 방식

✔ 돌려받은 결과를 바로 사용하거나 변수 할당 가능

✔ 결과값의 타입을 사전에 정의(int 등)

✔ return <결과값>;

 

#include <stdio.h>

    // (2) a에 5를 할당, b에 10을 할당한 후 코드 진행
    int add_value(int a, int b)
    {

    int c = a + b;
    // (3) a와 b의 합을 호출 위치로 반환(return)
    return c;

    }

    int main()
    {

    int k;

    // (1) add_value 함수를 호출하여 5와 10을 인수로 전달
    // (4) 반환된 값(add_value의 결과)를 k에 할당
    k = add_value(5, 10);

    // (5) k값을 출력
    printf("%d", k);

    return 0;

}

 

 

 

리턴값이 없는 함수의 정의와 호출

✔ 함수의 결과를 돌려주지 않고 종료되는 방식

✔ 결과값이 없으므로 타입 대신 void를 선언

 

#include <stdio.h>

      // (2) a에 5, b에 10을 할당한 후 코드 진행
      void add_value(int a, int b)
      {

      int c = a + b;

      // (3) a와 b의 합을 출력
      printf("%d", c);
      return;

      }

      int main()
      {

      // (1) add_value 함수를 호출하여 5와 10을 인수로 전달
      add_value(5, 10);
      return 0;

}

 

 

 

 

 

 

 

 

 

자료출처: 유튜브 주간컴공TV

728x90