프로그래밍/자료구조

[#ifndef ~ #endif] 헤더파일 중복방지를 위해 사용

gameObject 2023. 11. 6. 18:49
728x90

전처리기 #ifndef와 #endif를 사용하게 되면

C언어에서 헤더파일이 중복으로 실행되는 경우를 방지할 수 있다.

 

#ifndef의 기능이 #define 되어있지 않다면 내부 내용을 실행하겠다는 전처리기이기 때문이다.

 

따라서

#ifndef _STACK_H__
#define _STACK_H__

내부 내용

#endif

 

이런 형태로 작성을 해주게되면

처음 헤더파일이 실행될때는 _STACK_H__가 정의되어있지 않기 떄문에

#define_STACK_H__가 실행되게 되며 _STACK_H__가 정의가 된다.

그렇게 내부내용이 실행되게된다.

 

그 다음으로 헤더파일이 중복실행될 경우에는

이미 _STACK_H__는 정의가 되어있기 때문에 #ifndef에 걸러져서

#endif 아래쪽 내용을 실행하게 되어있다.

 

따라서 헤더파일에서 #ifndef ~ #endif 전처리문을 항상 사용하자 ^^

728x90