프로그래밍 언어/C언어

C언어 include 사용법

원원 2017. 5. 29. 22:03


include에 대해 알아볼건데요. 일단 전처리기란것을 알아야합니다

전처리기란? 컴파일 되기전에 미리 처리하는 문장입니다. 일반적으로 #include와 #define을 가장많이 사용합니다. #include는 파일처리를 위한 전처리문이고 #define은 형태 정의를위한 전처리기문입니다. 이외에도 전처리문들이 여러가지있는데 왜 알아야할까요? 코드의 중복을 막기위해서 겠죠

 



#include

헤더파일을 포함시켜놓는겁니다. 헤더파일이란 .h확장자를 가진 파일을 말하는데요. 헤더파일을 만들어서 include하는 이유는 자주쓰는 함수들을 저장해놓고 사용하기 위함입니다. 예를들어 #include<stdio.h>는 stdio.h란 헤더파일을 포함시키는겁니다. 

#include<헤더파일>과 #include"헤더파일" 이런 두가지형식이 있는데요.

#include<헤더파일>은 컴파일러의 라이브러리 폴더에서 헤더파일을 찾습니다.

#include"헤더파일"은 현재 디렉토리에서 헤더파일을 찾습니다.만약 없다면 컴파일러의 라이브러리 폴더에서 헤더파일을 찾습니다.

그러므로 <>보다 ""가 범위가 더 크고요. ""는 주로 사용자가 헤더파일을 만들었을때 사용합니다.


stdio.h의 위치는 일반적으로 C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include에 있습니다.

가장 많이쓰는 printf가 포함되있는 헤더파일인데요. 그러나 비주얼스튜디오12.0에서는 stdio.h를 포함안시키고  실행을 해도 실행이 되는데요.

이처럼 stdio.h는 c에서 기본 라이브러리이므로 자동적으로 포함시켜주는 컴파일러도 있습니다.


사용자가 헤더파일을 만들어서 include시키는 경우를 알아보겠습니다.

헤더파일에서는 함수 원형만 적어야하고 내부구현은 따로 파일을 만들어야합니다.

이 부분은 실제로 사용하지 않더라도 알고있어야하는 매우 중요한 부분입니다.

헤더파일:add.h

구현파일:add.c


구현파일입니다. add헤더파일을 인클루드 해서 구현하고 있는것을 볼 수 있습니다.


헤더파일입니다. 함수의 원형만 적혀있는것을 볼 수 있습니다.



메인문에서 실행 결과입니다.