입력을 받아 어떤 기능을 수행한 후 결과를 반환하는 것

특정 작업을 처리하도록 작성한 프로그램 단위

<함수의 구분>

  1. 라이브러리 함수 : 이미 개발환경에 포함되어있는 함수(printf(), scanf() ... )
  2. 사용자 정의 함수 : 필요에 의해 개발자가 직접 만든 함수 → 함수 선언(function declaration), 함수 호출(function call), 함수 정의(function definition)이 필요

함수 선언(정의)와 호출

// 함수 원형 선언시 매개변수 개수와 자료형, 순서가 중요하기 때문에 변수이름은 경우에 따라 생략이 가능함
int add(int a, int b) // 반환형int 함수이름add (매개변수목록 int a, int b)
{
	int sum = a + b; // 함수가 수행할 문장들
	return (sum); // return (반환값)
}

int sum = add(3, 6); // 함수 호출. return 9
int summary (int ary[] int SIZE){
 ...
}
int summary (int *ary int SIZE){
 ...
}
void printAry(double ary[][]){
	...
}
void printAry(double* ary[]){
	...
}

‼️ tip ‼️

이차원 배열 ary에는 행과 열이 있죠, 이차원 배열의 행과 열 수 는 다음과 같이 구할 수 있습니다.

int rowSize = sizeof(ary)/sizeof(ary[0]); // 행
int colSize = sizeof(ary[0])/sizeof(ary[[0][0]) // 열