특정한 기능을 따로 분리해놓은 것
함수는 유지보수 및 가독성, 재활용성이 좋습니다.
매번 같은 코드를 반복적으로 만들어낼 필요도 없고
함수마다 고유한 기능들을 나눠져 있기 때문에 유지보수에도 용이합니다.
절차지향 언어
라서 차례대로 소스 코드를 해석합니다.main 함수
아래에 있다면 인식을 하지 못합니다.컴파일러에 따라
서 에러 메시지를 출력하기도 하고 정상적으로 실행하는 컴파일러가 있습니다.#include <stdio.h>
int func1(void); // 함수의 원형을 우선적으로 선언
int main()
{
func1();
printf("함수 실행 완료\n");
return 0;
}
int func1(void)
{
printf("예시 함수입니다.\n");
return 0;
}
어떤 함수가 있다는 사실을 알려주려면 함수 선언(function declaration)
을 해주어야 합니다.
함수 선언은 다음과 같이 반환값 자료형, 함수 이름, () (괄호)순으로 적어주고 ; (세미콜론)을 붙입니다. 특히 여기서는 함수를 정의할 때와는 달리 {} (중괄호)를 사용하지 않습니다.
그래서 위와 같이 함수의 원형을 선언
해주면 이러한 문제를 해결
할 수 있습니다.
굳이 원형을 위에 선언하고 아래에 다시 정의를 할 필요가 있을까 싶지만 코드가 여러개, 여러줄이 된다면
전체의 코드들을 파악하기 어렵기에 원형을 선언해주는 것도 좋은 방법
이 될 수 있습니다.
지역변수 : 한 지역 내에서만 사용할 수 있는 변수
전역변수 : 어느 지역에서나 사용할 수 있는 변수
한 지역 내에서만
사용할 수 있는 변수입니다.
여기서 지역이란 중괄호에 의해 만들어진 영역을 뜻합니다. main 함수내의 변수들도 지역변수 입니다.
따라서 다른 함수 내에서 main 함수에서 선언된 변수들을 사용할 수 없습니다.
다른 함수에서 선언된 지역 변수를 사용하려면 return
한 후 main에서 따로 저장
해두어야 합니다.
어느 지역에서나
사용할 수 있는 변수입니다.
괄호 밖에 쓴 변수는 전역변수 입니다. 전역으로 선언하면 어느 함수이든 변수 사용이 가능합니다.
전역 변수는 프로그램의 시작과 동시에 메모리 공간에 할당되어서 프로그램이 종료될 때까지 존재합니다.
꼭 필요한 경우가 아니라면 지역변수 사용을 권장
합니다.