본문 바로가기

헤더파일3

[C언어]C언어에서 헤더파일이 필요한 이유?(헤더파일 필요성) 헤더파일 이란 C언어에서는 두 종류의 소스코드 파일이 있다. (.h 와 .c) 이 두 파일을 비교해 보면 다음과 같다. C파일 (.c) 헤더 파일 (.h) 실제 프로그램을 돌게하는 로직 코드를 저장하는 파일 내용(함수 정의(=함수 구현), 매크로, 변수, 전역변수등) 여러 소스코드 파일에 공통적으로 필요한 것들을 저장하는 파일 내용(함수 선언, 매크로, extern 변수 선언등) #include 로 헤더파일을 인클루드 함 여기서 C파일과 헤더 파일은 그냥 합쳐서 하나의 파일로 만들면 되지 않을까?라는 생각이 들 수 있다. 헤더파일의 필요성 없어도 되지만 있는 것이 더 편해서 프로그래머들은 한 파일 안에 모든 코드들을 넣기보다 체계적으로 나누어서 넣는 것을 좋아한다. 그렇기에 연관된 기능끼리 모아서 .c .. 2023. 2. 16.
[C언어]인클루드 가드의 뜻과 사용법(헤더가 꼬일 때,업계표준) 헤더파일(.h) 파일은 주료 함수선언과 전역변수 extern선언할 때 주로 들어간다. (물론 #define 같은 매크로도 들어간다.) 그리고 #include는 저번 글처럼 복사 붙여 넣기(확장)해주는 매크로이다. 헤더파일에 #define 같은 매크로를 다른 헤더파일에서도 사용을 해야 할 일이 있을 때, 양쪽 헤더 파일에 인클루드를 할 때가 있다. 예시코드 파일 3개를 보자 #include "b.h" /* 코드 내용 생략 */ 파일1 a.h #include "a.h" /* 코드 내용 생략 */ 파일 2b.h #include "a.h" int main(void) { /* 코드 내용 생략 */ return 0; } 파일 3 c.c 여기서 c.c 파일을 컴파일하게 되면 어떻게 될까? #include "a.h"에.. 2023. 2. 15.
[C언어]#include <> 와 #include " " 차이 C언어를 배우면 "Hello world"를 출력하는 것을 먼저 배운다. 이때, 출력을 하려면 출력헤더파일인 stdio.h를 인클루드 해야 한다. 이런 식으로 말이다. #include int main(void) { printf("hello world"); return 0; } 코드 1 #include 사용할 때 이때 #include 이런 방식을 쓴다. 그리고 어떨 때는 #include ""로 작성도 하는 코드를 볼 수 있다. #include "calculate.h" int main(void) { /* 코드 내용 생략 */ return 0; } 코드 2 #include "" 사용할 때 이때 두 개 코드의 차이점은 무엇일까? 사실 #include 와 #include ""는 둘 다 같은 용도로 쓰인다.(복붙 하.. 2023. 2. 15.