아하
생활

생활꿀팁

느긋한쇠오리233
느긋한쇠오리233

전처리 #ifdef와 #ifndef 관련 질문입니다.

C언어에서 #ifdef와 #ifndef의 사용 시 헷갈리는게 있습니다. ifdef는 조건이 정의(define)가 되었는지 에 따라 사용되는건 알겠는데 #ifndef는 어떤 경우에서 사용하는 지 궁금합니다.

단지 정의가 안되었을 경우에는 알겠는데 그 이외에 사용할 수 있는 경우도 있나요?

55글자 더 채워주세요.
2개의 답변이 있어요!
  • 프알못
    프알못

    정의가 안 돼 있을 때 사용하는 게 맞습니다.

    Include guard 용도로도 많이 쓰고,

    #else, #elif와 defined로 컴파일러나 운영체제에 따라 다른 코드를 사용할 때도 사용합니다.
    (컴파일러나 운영체제에 따라 미리 정의된 매크로가 있기도 합니다.)


    여러개가 정의되어 있는 경우에는 #ifdef 대신에 #if와 defined를 사용하기도 합니다.

  • 소스 첫줄 부터 정의 안되어 있을 경우가 필요 한대

    #ifndef 가 없다면...

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

    #ifdef

    ....

    #else

    ...

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

    벌써 3줄이나 의미 없이 작성 하겠죠..

    그래서 편의상 만들거라 생각 됩니다...