77.5 main 함수 작성하기
마지막으로 main 함수가 들어갈 main.c 파일입니다. 다음 내용을 프로젝트 디렉터리에 main.c로 저장하세요.
examplecalc/examplecalc/main.c
#include "calc.h" // add, sub 함수가 선언된 헤더 파일. calcdata.h 헤더 파일을 포함하고 있음 #include "print.h" // print 함수가 선언된 헤더 파일. calcdata.h 헤더 파일을 포함하고 있음 int main() { CALC_DATA data1; data1.operand1 = 10; data1.operand2 = 20; add(&data1); // 덧셈 실행 print(&data1); // 10 + 20 = 30 CALC_DATA data2; data2.operand1 = 40; data2.operand2 = 15; sub(&data2); // 뺄셈 실행 print(&data2); // 40 - 15 = 25 return 0; }
실행 결과
10 + 20 = 30 40 - 15 = 25
main.c 파일에서는 지금까지 만든 구조체와 함수를 사용하면 됩니다. add, sub 함수를 사용하기 위해 calc.h 헤더 파일을 포함했고, print 함수를 사용하기 위해 print.h 헤더 파일을 포함했습니다. 여기서 CALC_DATA 구조체를 사용하기 위해 calcdata.h 헤더 파일을 포함해야 하는데 calc.h, print.h에서 이미 포함하고 있으므로 calcdata.h 헤더 파일은 따로 포함하지 않았습니다.
최종 헤더 파일 포함 관계는 다음과 같습니다.
![](https://dojang.io/pluginfile.php/744/mod_page/content/21/unit77-3.png)
헤더 파일과 소스 파일을 모두 작성하고 프로젝트에 추가했을 때의 모양은 다음과 같습니다.
![](https://dojang.io/pluginfile.php/744/mod_page/content/21/unit77-4.png)
지금까지 여러 소스 파일을 사용하는 방법을 배웠습니다. C 언어를 처음 배울 때는 소스 파일 하나로도 충분하지만, 프로그램의 기능이 조금만 커지면 소스 파일을 여러 개 사용해야 합니다. 특히 실무에서는 소스 파일을 수십, 수백 개 사용하므로 프로젝트 구성 방법을 익혀두는 것이 좋습니다.
참고 | GCC에서 여러 소스 파일 컴파일하기
GCC에서 여러 소스 파일을 컴파일하려면 gcc 뒤에 .c 파일을 나열하고 -o 옵션에 실행 파일 이름을 지정하면 됩니다.
$ gcc calc.c print.c main.c -o examplecalc $ ./examplecalc