함수
- 그룹 지어진 작업
- 긴 프로그램 작성 시 유용
- 초기의 고급 언어(FORTRAN, COBOL, BASIC 등) → 함수 개념 미미
- C → 함수에 기반한 언어
- 현대의 고급언어(C++, JAVA, C#, Python) → 객체 지향 언어
함수 선언
#include <stdio.h>
int avg(int a, int b);
int main(void) {
int a, b, c;
a = 20;
b = 12;
c = avg(a, b);
printf("%d\n", c);
}
int avg(int a, int b) {
int c;
c = (a+b)/2;
return c;
}
- 함수를 호출하기 이전에 함수가 정의 또는 선언되어 있어야 함
- 함수가 main보다 아래에 있으면 컴파일러 오류 발생
- 하지만 함수가 아래에 있는 형태가 읽기에 편함 → 해결 방법으로 함수의 머리 부분(함수 원형)만 미리 기술
- 함수가 선언되어 있으면 함수 정의는 프로그램의 어디에 위치해도 괜찮음
- 매개변수: parameter, formal argument, 형식인자, 형식매개변수
- 인자: argument, actual argument, 실인자, 실매개변수
void
- 반환값 자료형 자리에 void를 적으면 반환값이 없다는 의미
- 함수를 끝낼 때 return 뒤에 반환값이 없어도 되고, 아예 return;이 없어도 됨
- 매개변수 자리에 void를 적으면 매개변수가 없다는 의미