헤더파일 질문입니다
246
작성한 질문수 1
struct.h에는 함수의 원형만 정의를 하고, 함수의 내용은 fun.cpp에 작성을 하였는데 왜 헤더파일만 include하는 것만으로 함수가 실행이 되는지 모르겠습니다.
답변 1
1
죄송합니다. 새로운 강의의 오픈 준비로 답변이 많이 늦었습니다.
-
CPP은 프로그램을 구성하는 함수들을 별개의 파일에 넣는 것을 권장하는 언어입니다.
그래서 통상적으로 하나의 파일을 아래의 세 분류로 나누어 관리합니다.
- 구조체 선언 혹은 구조체를 사용하는 함수들의 원형이 있는 헤더 파일
- 구조체에 관련된 함수들의 코드가 들어 있는 소스 파일
- 구조체에 관련된 함수들을 호출하는 코드가 있는 소스 파일
질문자님이 궁금하신 사안은
3번의 파일에서 2번의 파일을 따로 명시하지 않았음에도,
어떻게 2번의 코드에 있는 내용을 사용할 수 있는가?
같습니다.
보다 근본적으로 설명해 드릴려면, CPP의 다중 파일 프로그램에서 컴파일 과정을 설명드려야 할 것 같은데,
내용이 너무 도프해질 것 같아 간략하게 설명드리면
main 함수에서 컴파일 명령이 실행될 때, 전처리기가 포함된 파일들을 소스코드에 결합시켜주기 때문입니다.
아래의 게시글을 살펴보시면 더 자세한 설명을 확인하실 수 있을 것 같습니다.
https://stackoverflow.com/questions/6264249/how-does-the-compilation-linking-process-work
null 문자가 포함되면 왜 뒤에 불필요한 것들이 사라지나요?
0
567
1
강의 중 궁금한게 있습니다.
0
409
0
포인터 연산 강의
0
376
1
강의중 궁금한 내용이 있습니다
2
493
3
(int*)이 어떤 원리인건지 잘 이해가 안되요 ㅜ
1
459
0
char형과 char 배열을 차이점이 뭔가요
0
391
0
오토를 맹신하지 말라는 것이 무슨 뜻인가요?
0
340
1
안녕하세요 class의 멤버함수에 관련하여 질문이 있습니다.
0
250
0
강의 잘 듣고있습니다. 그런데 소스코드에 오타가 있는듯합니다.
1
335
0
포인터를 증가시키거나 감소시킨 상태에서는 delete 사용이 불가능한가요?
0
460
0
const float PI =3.14159265; 로 선언하고 원의 넓이를 구할 때 궁금한 것이 있습니다.
0
665
1
iosteam 헤더 파일 중복
0
367
1
함수 뒤 세미콜론
0
321
0
함수는 원본이 아닌 복사본을 사용한다는 말에 대해서 질문있습니다
0
245
0
sizeof arr에서
0
421
3
포인터를 이용한 주소값이 이상합니다
0
291
1
바이트와 관련하여서 질문이 있습니다
0
267
1
출력이 안되요
0
281
0
마지막에 main.cpp 에서
1
264
0
예제코드 오타 있어요
1
205
0
함수의 대괄호 뒤에 ; 가 붙는것과 안뭍는것의 차이가 뭔가요?
0
222
0
new/delete 연산자
1
260
1
컴파일에러
1
282
1
string에서 문자열 길이
1
268
1





