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;
}
728x90
'2021 정보처리기사 > 참고자료: 정보처리기사' 카테고리의 다른 글
VSCode에서 C언어와 C++ 코딩 환경 세팅하기 (7) | 2021.05.02 |
---|---|
[C언어 기초] C언어 배열, 포인터 (0) | 2021.05.01 |
[C언어 기초] C언어 반복문, 제어문 (0) | 2021.04.30 |
[C언어 기초] C언어 문자열, 표준 입출력 함수 (0) | 2021.04.30 |
[C언어 기초] C언어 특징과 작성 규칙, 상수와 변수 (0) | 2021.04.26 |