생활
전처리 #ifdef와 #ifndef 관련 질문입니다.
C언어에서 #ifdef와 #ifndef의 사용 시 헷갈리는게 있습니다. ifdef는 조건이 정의(define)가 되었는지 에 따라 사용되는건 알겠는데 #ifndef는 어떤 경우에서 사용하는 지 궁금합니다.
단지 정의가 안되었을 경우에는 알겠는데 그 이외에 사용할 수 있는 경우도 있나요?
55글자 더 채워주세요.
2개의 답변이 있어요!
정의가 안 돼 있을 때 사용하는 게 맞습니다.
Include guard 용도로도 많이 쓰고,
#else, #elif와 defined로 컴파일러나 운영체제에 따라 다른 코드를 사용할 때도 사용합니다.
(컴파일러나 운영체제에 따라 미리 정의된 매크로가 있기도 합니다.)여러개가 정의되어 있는 경우에는 #ifdef 대신에 #if와 defined를 사용하기도 합니다.
소스 첫줄 부터 정의 안되어 있을 경우가 필요 한대
#ifndef 가 없다면...
------------------
#ifdef
....
#else
...
------------------
벌써 3줄이나 의미 없이 작성 하겠죠..
그래서 편의상 만들거라 생각 됩니다...