c언어 함수에 대하여 알아보기(라이브러리 함수, 사용자 정의 함수)
네 안녕하세요, 이번 포스팅부터는 함수에 대하여 좀 더 깊게 들어가 보려 합니다.
우리가 사실 지금까지 함수를 정말 많이 썼습니다.
그치만 이 함수가 전부가 아니라 좀 더 신기하고 유용한 함수들도 존재를 합니다.
그래서 이번 포스팅에서는 함수에 대한 기본 개념들과 함수의 종류를 알아보도록 하겠습니다.
그럼 지금부터 시작하겠습니다.
1. 함수가 필요한 이유
함수는 말 그대로 기능적인 것들을 수행하기 위해 쓰이는 것들입니다.
다른 말로 '예약어'라고도 합니다.
이를테면 우리가 원하는 것을 입력하면 그것을 수행하여 결과를 내게 하는 것이죠.
그래서 이러한 함수들은 이러한 특징들을 가지고 있습니다.
- 함수는 서로 구별되는 이름을 가지고 있습니다.
- 함수는 특정한 작업을 수행하는 기능을 가지고 있습니다.
- 함수는 입력을 받을 수 있으며, 그 입력에 대한 반환을 할 수 있습니다.
이러한 특징을 가지고 있습니다.
2. 함수가 필요한 이유
일단 함수는 기본적으로 우리들이 만드는 프로그램을 구성하는 기본적인 요소입니다.
이 함수가 존재하지 않으면 그 어떤 것도 실행을 할 수가 없습니다.
그래서 그러한 함수가 모이고 또 모여서 하나의 몸을 만들고, 그것이 곧 프로그램이 되는 것이지요.
그래서 이러한 함수들이 계속 얽히고설켜서 만들어지기 때문에 프로그래밍을 많이 해보신 분들은 여러 가지 함수들을 적절히 분리하여 작성합니다.
그렇게 하게 되면 함수를 재사용 할 수도 있고, 함수들의 관리도 쉬워지기 때문이죠.
3, 함수의 종류
함수의 종류는 크게 두 가지로 나뉩니다.
- 라이브러리 함수
- 사용자 정의 함수
이렇게 나뉩니다.
3 - 1. 라이브러리 함수
라이브러리 함수는 c언어가 가지고 있는 내장 함수입니다.
이를테면 <stdio.h>나 <stdlib.h> 같은 헤더 파일을 가져옴으로써 쓸 수 있습니다.
여기에 해당이 되는 함수들은 대표적으로 printf(), scanf()등이 있죠.
우리가 이미 여러 번 다룬 함수들입니다.
3 - 2. 사용자 정의 함수
사용자 정의 함수는 본인이 원하는 함수가 없어서 개발자가 직접 만든 함수를 말합니다.
기본적인 것들은 사실 그냥 라이브러리 함수만을 이용하는 것이 훨씬 편하고 간결하지만,
실제로 프로그램을 만들다 보면 기본 라이브러리 함수로는 표현이 되지 않는 것들도 존재합니다.
그럴 때 적절히 사용을 해주면 가독성이 높아질뿐더러, 코드가 간결해집니다.
예를 들면 이런 것이죠.
제가 '*'을 찍어내는 함수를 만들고 싶어요.
그래서 라이브러리 함수만 이용해서 만드려고 했는데,
여러 가지 함수들이 엮여갖고 알아보기 힘들어졌습니다.
그래서 star_printer()라는 함수를 하나 새로이 정의를 하여 만들었습니다.
이렇게 하면 main() 함수 몸에 star_printer();라는 말만 붙여주면 이 함수가 입력이 되었다는 뜻이 되므로,
코드가 매우 간결해집니다.
그리고 이러한 함수의 몸은 역시 기본 라이브러리 함수들로 이루어져 있습니다.
여기까지 c언어 함수에 대하여 알아보는 시간을 가졌습니다.
다음 포스팅에서는 사용자 정의 함수를 정의하는 방법에 대하여 알아보도록 하겠습니다.
긴 글 읽어주신 분들께 진심으로 감사드립니다 ~
댓글