목차
1. 함수란? function
- 특정한 코드를 모아놓은 묶음에 이름을 붙인 것이다.
- 장점: 재활용, 유지 관리의 효율성, 가독성
함수를 사용하면 필요할 때마다 호출해서 쓸 수 있으므로 불필요한 반복을 줄일 수 있다.
또한 여러 함수를 조립하여 손쉽게 프로그램을 만들 수 있다.
- 다른 언어에서는 procedure이라고도 불린다.
- 일반적으로 함수 정의문은 반환형, 함수 이름, 파라미터의 자료형, 함수 몸체{}가 포함되어야 한다.
2. 함수 만드는 방법
(1) 함수 헤더 function header
1) 반환형
- 함수가 실행되면 return 뒤의 값이 반환되는데, 이 값의 데이터 유형을 선언한다.
- 데이터의 유형은 char, int, long, double 등이다.
- 반환하는 값이 없다면 void라고 표시한다.
int
2) 함수이름
- 함수의 기능을 암시하는 이름이라면 더 좋다.
- 동사 또는 동사+명사를 조합한다.
int add
3) parameter
- 매개변수라고도 불린다.
- 함수가 받는 데이터를 함수에게 전달해주는 '변수'이다.
- 데이터 유형을 선언한다.
- 각각의 매개변수는 쉼표로 분리된다.
- 매개변수가 없어도 된다.
int add(int x, int y)
(2) 함수 몸체 { }
- { } 중괄호로 둘러싸여 있다.
- 함수가 수행하는 작업에 필요한 문장이 들어간다.
- 순차적으로 실행된다.
- return 문장을 만나면 함수 실행이 종료되고, 해당 함수가 호출된 곳으로 돌아간다.
- return 다음 문장은 ( )로 둘러싸여도 되고, ()가 없어도 된다.
int add(int x, int y)
{
return x+y;
}
3. 함수 만들기 연습문제
<정수값 구하기>
- 반환값: int
- 함수이름: get_integer
- 매개변수: 없음
int get_integer()
{
int value;
printf("값을 입력하세요");
scanf("%d", &value);
return value;
}
<최대값 구하기>
- 반환값: int
- 함수이름: get_max
- 매개변수: int형 두 개
int get_max(int x, int y){
if (x > y) return x;
else return y;
}
<x의 y거듭제곱 구하기>
- 반환값: int
- 함수이름: cal_pow
- 매개변수: int형 두 개
int cal_pow(int x, int y) {
int value;
value = pow(x, y);
return value;
}
4. 함수 호출하기
- call이라고 부른다.
1) argument 인수
- 함수의 이름을 쓰고, argument를 적은 후, 세미콜론을 붙인다.
- argument 인수는 함수에 실제로 전달되는 값이다.
- argument와 parameter 개수는 동일한다.
2) return value 반환값
- 반환값이 없으면 return 키워드 다음에 아무것도 쓰지 않거나, return조차 쓰지 않는 방법이 있다.
int main(void) {
int x, y;
x = get_integer();
y = get_integer();
// 두 수의 합
printf("두 수의 합: %d\n", x+y);
// 최대값
printf("최대값: %d\n", get_max(x, y));
// x의 y승
printf("x의 y승: %d\n", cal_pow(x, y));
return;
}
'C언어 > 참고서: C언어 콘서트' 카테고리의 다른 글
C언어 40차시 함수 연습문제 1 (0) | 2023.04.04 |
---|---|
C언어 39차시 함수 원형 선언 (0) | 2023.04.04 |
C언어 37차시 배열 연습문제 3, 분산, 표준편차 (0) | 2023.04.04 |
C언어 36차시 배열 연습문제 2 (0) | 2023.04.04 |
C언어 35차시 배열 연습문제 1 (0) | 2023.04.04 |