수업 목표

  • 함수에 대해 배워본다.
  • 함수의 핵심을 천천히 분해하면서 실습해본다.

 

함수(Function)

프로그래밍 언어에서 함수란, 코드 뭉치. 반복되는 코드 뭉치가 있다면 해당 코드 뭉치를 함수로 만들어서 재사용성을 높힐 수 있습니다. 입력 혹은 출력이 있는 경우 대부분 다 함수라고 봐도됩니다.

 

printf()도 함수, main()도 함수

입력으로 문자열을 받아서 화면에 출력해주는 printf()도 함수입니다. 프로그램의 시작점 역할을 하는 main()도 함수였습니다.

 

함수의 필요성

우리는 printf() 함수를 자주 사용해왔습니다. 만약 함수를 몰랐다면 어떻게 되었을까요? printf()를 쓸 때마다, printf() 함수 내부 코드를 적어줬어야 합니다. 소스코드가 얼마나 복잡할지는 안봐도 비디오입니다. 소스코드는 불필요하게 길어지므로, 해석에 어려움을 줍니다.

 

함수 작성 방법 [중요 샘플 코드]

아래 내용을 주석 포함해서 빡지 써봅시다. 암기해서 어느 순간에도 툭치면 나올 정도로 써봅시다.

 

반환자료형 함수명(매개변수자료형 매개변수명) // 함수 선언(Declaration)이자, 정의(Definition)
{


	return 반환값;
}

int main(void)
{
	int num = 10;  // 자료형 변수명 = 값;

	함수명(인자값); // 함수 호출(Call)

	return 0;
}

 

 

Ex060101) main() 함수

암기 후에 main() 함수를 보면, 함수 암기 내용과 동일하다는 것을 알 수 있습니다. main() 함수의 반환자료형, 함수명, 매개자료형 매개변수명, 반환값이 뭔지 짚어봅시다.

 

Ex060102) PrintOneStar() 함수

별 하나를 출력하는 함수 PrintOneStar()를 선언 및 정의하고 호출하는 소스코드를 작성해보자. 실행 결과도 확인해보자.

 

#include <stdio.h>

void PrintOneStar() {
	printf("*");

}

int main(void) {

	PrintOneStar();
	return 0;
}

 

Ex060103) Add() 함수 1

두 수를 전달 받아서 그 합을 출력하는 함수 Add()를 선언 및 정의하고 호출하는 소스코드를 작성. 실행 결과도 확인해보자.

#include <stdio.h>

int Add(int a, int b) {
	return a + b;
}

int main() {

	int sum;
	sum = Add(5, 10);
	printf("%d", sum);

	return 0;
}

 

Ex060104) Add() 함수 2

두 수를 전달 받아서 그 합을 반환하는 함수 Add()를 선언 및 정의하고 호출하는 코드를 작성. main() 함수에서는 반환 받은 값을 int형 변수에 저장했다가 출력하는 소스코드를 작성해보자. 실행 결과도 확인해보자.

 

여기까지 암기하면 함수 기초문법은 완성입니다.

그러나, 제대로 공부하려면 함수가 호출 될 때 어떤 일이 벌어지는지까지 깊숙이 알아야 합니다. 처음엔 당연히 어려우니 여기까지만 암기합시다. 힘을 풀고 듣는걸 추천합니다. 회독하면서 이해해야 합니다.

 

 

+ Recent posts