C언어 함수
함수란?
함수란 특정하고 반복되는 기능을 따로 분리해놓은 것으로 수학에서 사용되는 함수의 개념과 비슷하다.
함수의 장점
1.
유지보수 및 가독성이 뛰어나다.
2.
코드의 재사용성과 수정이 용이하다.
→ 작성한 함수는 얼마든지 호출하여 다시 사용할 수 있으므로, 재사용성이 향상되고 반복적인 수행이 가능하다.
→ 오류가 에러 수정이 쉬워져 코드의 안정성이 향상된다.
함수의 형태
함수의 기본적인 형태는 다음과 같다.
1. 반환형이 존재하는 함수
[반환형] [함수명] (매개변수){
[호출 시 작동될 함수 내부 코드]
}
JavaScript
복사
반환형이 있는 함수는 return이 필수적이다. return은 함수가 종료되었다는 의미로 함수 내의 변수나 어떤 값을 반환해주는 역할을 한다.
2. 반환형이 존재하지 않는 함수
[void] [함수명] (매개변수){
[호출 시 작동될 함수 내부 코드]
}
JavaScript
복사
반환형이 존재하지 않는 함수는, void 라는 따로 존재하는 반환형을 사용한다. 특히 아무런 인자를 넘기지 않을 때도 사용된다.
함수의 선언
함수를 선언할 때는 위치에 신경 써야 한다.
C언어는 절차지향언어이기 때문에 위에서 아래로 차례대로 소스 코드를 해석한다. 따라서 사용자에 의해 정의된 임의의 함수가 main 함수 위에 선언되어야 한다.
#include <stdio.h>
int main(){
function1();
printf("함수 실행 완료\n");
return 0;
}
int func1(void){
printf("예시 함수입니다.\n");
return 0;
}
JavaScript
복사
위의 코드는 엄밀히 문법상 틀린 코드이지만, 실행하게 된다면 정상적으로 컴파일 및 실행이 된다. 컴파일러의 확장 기능으로 인해서 실행되는 것인데, 작동은 하지만 위와 같은 코드를 사용하는 것을 지양해야 한다.
특정 컴파일러에서는 실행이 되지 않을 수 있으므로, 항상 컴파일을 보장받지 못하기 때문이다. 따라서 반드시 함수 정의와 선언을 main 함수 위에 해주는 것을 권장한다.