#ifndef, #endif에 대하여

honeyricecake·2022년 1월 29일
0

C언어공부

목록 보기
5/10

1.ifndef, #endif

이 게시글은 https://blog.naver.com/clown7942/110123052710를 보고 공부한 내용을 적은 것으로 자세한 내용은 해당 링크를 통해 확인하시기를 권장합니다.

위의 이미지를 보면 pointOperation.h에 point.h이 포함되어 있으므로 main.c에 point.h이 두번 포함되는게 된다.

그럼 point 구조체의 정의가 두번 등장하게 되므로 오류가 일어나게 된다.

이를 피하기 위해

#ifndef와 #endif를 사용한다.

#ifndef는 if not defined의 약자로서
ifndef ~~는 ~~가 정의되어있지 않으면 endif까지의 내용을 include영역에 포함시킨다.

즉, main함수가 실행되면 #incldue <point.h> 에서 POINT_H가 이미 정의되므로
pointOperation.h을 정의할 때는 구조체의 정의는 포함되지 않는다.

0개의 댓글