함수
프로그래머는 어려운 문제를 더 단순하고 작은 문제로 나누고, 이를 통해 코드를 단계적으로 구체화할 수 있어야 한다.
이때 프로그램은 기본적으로 ‘함수’라는 기본 구성 요소로 이루어져 있는데,
이 함수를 통해 복잡하고 반복되는 코드를 줄일 수 있다.
함수는 C언어에서 기본적으로 제공하는 printf() 나 scanf()와 같은 표준 함수(standard functions)와
사용자의 필요에 따라 직접 코드를 만들어 사용하는 사용자 정의 함수로 나뉜다.
이번 포스팅에서는 사용자 정의 함수를 직접 만들어 사용하는 법을 배울 것이다.
사용자 정의 함수 선언 및 정의 방법
함수를 다루기에 앞서 프로그래밍에서 선언과 정의의 차이를 알아보자.
선언은 코드 내에 특정한 함수 또는 변수가 존재한다고 알리는 것이고,
정의는 함수 또는 변수가 어떤 역할을 하는지 알려주는 것이다.
간혹 두 용어를 혼용하는 경우가 많은데, 명백히 다른 의미다.
사용자 정의 함수를 선언할 때는 다음과 같은 구문 규칙을 따른다.
반환자료형 함수명 (자료형 매개변수1, 자료형 매개변수2, ...);
선언은 함수의 존재를 알린 것이고, 선언한 함수에 기능을 추가하기 위해선 다음과 같이 수행할 명령문들을 중괄호{}로 묶어서 작성해주면 되는데, 이것이 함수를 정의하는 방법이다.
반환자료형 함수명 (자료형 매개변수1, 자료형 매개변수2, ...)
{
명령문1;
명령문2;
...
return 반환값;
}
이때 매개변수는 자료형과 함께 선언해야 하고 함수에서 사용할 값을 사용자에게 받아오기 위한 변수다.
그리고 사용자가 함수를 사용할 때 함수에 전달하는 값을 인수(argument)라고 한다. 함수는 전달받은 인수의 값을 통해 주어진 명령을 수행하고 사용자가 원하는 값을 반환한다.
만약 반환해야 할 값이 없다면 반환자료형에 void를 적어주면 되고 이때는 return 문이 필요없다.
'C language' 카테고리의 다른 글
C언어) 재귀함수 (0) | 2023.06.24 |
---|---|
C언어) 함수 사용 (0) | 2023.06.24 |
C언어) 포인터의 이해 (0) | 2023.06.21 |
C언어) 논리 연산 (0) | 2023.06.07 |
C언어) 관계 연산자 (0) | 2023.06.06 |