✅ 목표 (Goal)

헤더파일을 중복포함해도 컴파일시 문제는 없지만, 매우 좋지 않으므로 중복포함하지 말자.

하지만, 중복포함할때 문제가 생기는 경우도 있다.

✅ 컴파일은 되지만, 좋지 않은 코드

어떤 개발자라 하더라도

(2)와 같이 헤더파일을 중복 포함하는 코드를 적지는 않을것이다.

헤더 파일이 필요하다면 당연히 (1)과 같이 한번만 적으면 된다.

#include <stdio.h> // (1) 한번 적고
#include <stdio.h> // (2) 또 적을 필요는 당연히 없다.
#include "cow.h"
//#include "cow.h" // ★

void meow() { // 고양이,야옹
    printf("야옹\\r\\n");
}

void woof() { // 강아지,멍멍
    printf("멍멍\\r\\n");
}

int main() {
    meow();
    woof();
    moo();

    return (0);
}

✅ 헤더파일을 100번 적어도 문제 없을까?

당연히 전혀 문제 없다.

하지만 좋지 않으므로 이렇게 적지 말자.

#include <stdio.h>
#include <stdio.h>
// 100번 적었다 치자..
#include <stdio.h>
#include <stdio.h>

✅ 헤더파일을 100번 적으면, 100개가 포함될까?

#include <stdio.h>
#include <stdio.h>
// 100번 적었다 치자..
#include <stdio.h>
#include <stdio.h>

그렇지 않다. 100번을 적어도 한번만 포함된다.