1. #include <stdio.h> 와 "stdmine.h" 의 차이
[EXPLANATION] 설명
라이브러리에 이미 포함되어있는 헤더파일을 불러올 때는 #include <>를 사용한다.
가령, printf와 scanf 처럼 입출력함수를 정의하고 있는 헤더파일 stdio.h 를 include 하면 코드 내에서 자유롭게 입출력 기능을 사용할 수 있다. 이를 위해 소스파일에서 메인함수보다 먼저 #include <stdio.h> 하면 된다.
한편, 직접 헤더파일을 만들 수도 있다. 이 경우 #include ""를 사용한다.
가령, 배열을 초기화하고 데이터를 저장한 뒤 조회 및 삭제하는 함수들의 프로토타입을 선언하고 각종 함수를 초기화하기 전에 typedef로 대체해주는 기능을 헤더파일 stdmine.h 라고 임의로 선언한다면 #include "stdmine.h" 해주면 된다.
[SYNTAX] 사용법
#include <stdio.h>
#include "stdmine.h"
이때, 후자의 경우 헤더파일명은 별도수정없이 정해둔 그대로 작성해서 불러온다. (stdo_h아니고 stdo.h 그대로)
2. #ifndef와 #endif
[EXPLANATION] 설명
#ifndef로 검사할 헤더파일명이 선언되어있지않은 상태라면 선언하고, 이미 선언된 상태라면 해당 헤더파일을 열어 사용하려했던 모든 코드 명령을 수행하지 않음으로서 오류를 막는다. 따라서 #include로 포함할 헤더파일에서 생길 오류를 막는 #include guard 이다. 이때 if n def 는 if (this header file is) not defined, then define it into (헤더파일명) 으로 해석하면 된다.
[SYNTAX] 사용법
#ifndef __헤더파일명__
단, 헤더파일명 내의 특수기호는 전부 _처리한다. 질문) 스페이스도?
#endif 로 닫아준다.
[CODE] 코드
'C언어' 카테고리의 다른 글
C언어 strcmp strncmp 비교 (0) | 2021.08.12 |
---|---|
C언어 strcmp 문자열 비교 (0) | 2021.08.12 |
C언어 함수 포인터 사용법 void(* fp)(); (0) | 2021.08.09 |
c언어 동적할당 받는 법 (0) | 2021.08.05 |
c언어 #ifndef #endif headerfile (0) | 2021.08.03 |