Programming Language/C Programming

C :: ifdef과 #include의 역할은 무엇인가

아기 요다 2018. 1. 5. 23:29



///ARDUBOY 커뮤니티의 글

https://community.arduboy.com/t/purpose-of-ifndef-and-define/3592


위의 링크의 내용을 참조바랍니다.


간단히 정리하면, #include는 간단히 복사 붙여넣기를 한 것인데 만약 #include "헤더파일.h"가 이중으로 선언된다면

이중으로 복사 붙여넣기를 한 것이 되기 때문에 이것을 막기 위해


#ifndef 헤더파일_H      //이와 같은 형식으로 선언을 하고

#define 헤더파일_H


#endif


이렇게 해놓으면 만약 후일에 실수로 이중으로


#include "헤더파일.h"

#include "헤더파일.h"   //이중으로 복사 붙여넣기가 되었다. (duplicated)


이미 '헤더파일_H' 이라고 정의가 되어있기 때문에 이중으로 복사 붙여넣기가 되는 일을 방지할 수 있습니다.