Programming Language/Do it! C언어

[Do it! C언어 입문] 5장. 함수

Convergence Medicine 2022. 11. 11. 14:04

05. 함수

05-1 C 언어와 함수

함수란? 일련의 명령문들을 한데 묶어서 그룹으로 만들어 두어 작업별 그룹으로 나누어 둘 수 있는 C 언어 문법
C 언어로 작성한 프로그램은 함수들의 집합체이고, 그 함수들끼리 서로 불러서 사용하는 형태로 진행된다.

그러므로, 어떤 함수가 최초로 시작되는 함수인지를 컴파일러가 알 수 있어야 한다.
그 역할을 main 함수가 한다. - 프로그램 시작 함수, 즉, 컴파일러에게 프로그램이 시작한다고 알려 주는 특별한 함수

05-2 함수 정의하고 호출하기

함수 정의하기

함수 호출하기

함수의 매개변수 자세히 살펴보기

함수 안에서 선언한 변수들은 해당 함수에서만 사용할 수 있다.
그래서, main 함수의 변수 값을 정의한 함수에서 사용하기 위해 매개변수 - parameter가 필요하다.
매개변수는 호출자 (Caller: main)에서 전달하는 값을 피호출자 (Callee: ex. Sum)에서 전달 받는 역할을 하는 변수

매개변수가 없을 수도 있다. 즉, 호출자에게서 전달 받을 정보가 없는 경우, 괄호 안을 비워 두거나 괄호 안에 void라고 명시

함수의 반환값 자세히 살펴보기

함수에서 return이라는 예약어를 사용하면 함수는 그 위치에서 종결되며, return 뒤에 명시된 변수 값이 반환값 (return value)이 된다.
그리고, 함수가 값을 반환한다는 뜻은 호출자의 어떤 변수에 값을 대입한다는 뜻이기도 하다.
그 값에 대한, 즉 피호출자 함수의 반환값에 대한 자료형을 명시해야 한다.
그래서, 함수 이름 앞에 자료형이 붙는 것이다.

return 예약어의 또 다른 기능으로 함수를 종료하는 역할이 있는데, return 뒤에 반환값을 적지 않으면 함수가 끝난다.

함수 이름을 짓는 방법

05-3 main 함수 정리하기

main 함수는 반드시 한 개만 있어야 한다. 없거나 두 개 이상 존재할 수 없다.

main 함수의 반환값

main 함수의 반환값으로 int 형을 사용하고,
반환 값 (return)으로 0이던 1이던 약속된 정수 값을 설정하여 정상적으로 작업을 끝내고 종료 되었다는 것을 표현할 수 있다.
하지만, 특별히 반환할 값이 없다면, void 형을 사용할 수 있다.

main 함수의 매개변수

명령 프롬프트로 프로그램을 실행할 때, 실행 인자 (argument)를 적을 수 있고, 이는 공백으로 구분한다.
이 실행 인자들은 해당 프로그램의 main 함수의 매개변수로 전달 된다.

05-4 함수 원형 선언하기

함수를 호출할 때 기억해야 할 것

컴파일러는 번역을 할 때 소스 코드의 위에서 아래로 한다. 그러므로 피호출자를 먼저 정의해야 한다.

함수 원형이란?

두 함수가 서로를 호출하는 경우 함수 원형 (function prototype)을 사용해서 해결
함수가 호출될 때 필요한 정보인 함수 이름, 매개변수, 반환 자료형을 포함하는 표현식
매개변수의 이름은 생략할 수 있지만 가독성과 타 프로그래머와 정보 교환을 위해 명시하는 것이 좋다.