⚙️C,C++

[C/C++] 헤더파일에 항상 있는 전처리기 (#ifndef, #define)

bananackck 2025. 2. 20. 23:06

[블로그 이전]

2021.03.25

 

🎀 목적 : 헤더파일 중복첨부 방지

#ifndef 변수명 #define 변수명 . . . #endif

왜 하냐 이말이다. 왜??? 정말 왜???

정말 정말 궁금했다.

이유 : c파일이 너무너무너무 커지면 헤더파일 첨부 여부 까먹을 수도(즉, 멍청이처럼 두번 첨부할수도)

Ex) #ifndef FUNCTION #define FUNCTION

원리 :

1) 헤더파일이 선언되면 #ifndef 에서 FUNCTION 이라는 변수가 정의(define)되어 있는지 확인

2) 안되있으면 #define 에서 FUNCTION 정의

3) 헤더파일이 중복 선언되면 #ifndef 에서 FUNCTION 이 정의되있음을 확인

4) 어? 선언되어있네?

5) 머야 여기 지나갔었자나

6) 중복이네?

7) 멍청한 개발자

8) 에휴 내가 알아서 처리해야지 밑에거 거르고 지나가


C++ 헤더파일

c언어              c++

------------------------------------

stdio.h ----> iostream

string.h ----> cstring

strlen.h ----> cstrlen