#include " "를 이용하여 어떤 헤더파일을 포함시켰을 때, 그 포함시킨 헤더파일안에 있는 #include " " 헤더파일까지 포함되는건가요?

 

예를들어

 

test.h라는 파일이 있고 이파일에는 또다른 헤더파일 "test2.h"를 포함하고 있습니다.

 

그리고 test2.h에는 구조체가 선언되어 있습니다.

 

이러한 상황에서 main.c 파일에 #include "test.h"를 선언할 시, main.c에서 test2.h에 선언되어 있는 구조체 변수를 사용할 수 있나요?

 

아니면 main.c 파일에

 

#include "test.h"

#inlcude "test2.h"

 

이렇게 두개를 따로 선언해 주어야 test2.h에 있는 구조체를 사용할 수 있는건가요?

 

제가 알기로 #include 지시자는 프로그램이 실행되면 선행처리기에서 해당 파일을 포함시키는 것으로 알고있는데,

 

포함시키면 당연히 포함된 파일 내부의 #include문까지 포함되어야 되는게 아닌가 해서요..

 

글을 쓰다보니 이해하기가 어려운 글이 되어버렸네요 ㅠㅠ 죄송합니다!