c언어 - 파일포함하기

파일 포함하기
#include를 사용하면 다른 파일을 포함합니다. 또한, #include는 조건부 컴파일과 함께 사용하여 파일 포함 여부를 결정할 수 있습니다.
#include <파일>    // C 언어 표준 라이브러리의 헤더 파일을 포함할 때 사용
                   // 컴파일 옵션에서 지정한 헤더 파일 경로를 기준으로 파일을 포함

#include "파일"    // 현재 소스 파일을 기준으로 헤더 파일을 포함
                   // 헤더 파일을 찾지 못할 경우 컴파일 옵션에서 지정한 헤더 파일 경로를 따름

파일을 포함하기 전에 매크로를 정의하면 포함된 파일 안에도 매크로의 내용이 적용됩니다.
헤더 파일을 여러 소스 파일에서 사용할 때 컴파일 에러 방지
같은 헤더 파일을 여러 소스 파일에서 사용하면 구조체 정의 부분에서 에러가 발생합니다. 따라서 다음과 같이 매크로가 정의되어 있지 않으면 컴파일을 하고, 정의되어 있으면 컴파일을 하지 않는 방식을 사용해야 합니다.
#ifndef 매크로A // 매크로A가 정의되어 있지 않다면  #ifndef DATA_H // DATA_H가 정의되어 있지 않다면
#define 매크로A // 매크로A 매크로 정의            #define DATA_H //  DATA_H 정의

// 구조체, 공용체, 열거형 등 정의                 typedef struct _DATA { // 구조체 _DATA 정의
                                                    int a;
#endif          // #ifndef 매크로A 끝                int b;
                                                } DATA;

                                                #endif         // #ifndef DATA_H 끝

공부 : c언어 코딩도장

댓글