#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문까지 포함되어야 되는게 아닌가 해서요..
글을 쓰다보니 이해하기가 어려운 글이 되어버렸네요 ㅠㅠ 죄송합니다!
넹 그렇죠
왜 근데 #include "test.h" #inlcude "test2.h" 두개를 같이 포함시켜야 컴파일 나고 test2.h 를 포함시키면 컴파일 에러가 나죠? ㅠㅠ
무슨에러인데요??
test2.h에 정의된 구조체가 선언되지 않은 식별자입니다라고 나와요
한 프로젝트 파일 안에 헤더파일을 만들어줘야 합니다.