[목차] == 개요 == [[C 언어]] 및 [[C++]]에서 사용하는 일종의 레퍼런스. 주로 외부 소스 파일에 정의된 변수나 함수를 쓰기 위해 만들어졌다. 크게 컴파일러가 기본적으로 지원하는 표준 헤더와 사용자가 임의로 만든 사용자 헤더로 나눠진다. == 사용 방법 == 보통 소스 파일 맨 윗줄에 표기함으로써 해당 해더파일에 들어있는 요소를 사용할 수 있다. {{{#!syntax cpp #include <전역 헤더 이름> #include "상대 경로 헤더 이름" }}} {{{<>}}}는 컴파일러에서 환경에 따라 지정된 spec 경로에서 헤더를 찾거나 명시적으로 지정한 경로에서 파일을 찾지만 {{{""}}}는 해당 소스 파일이 위치한 경로에서 파일을 찾기에 컴파일러 옵션 없이도 상대 경로를 사용하는 것이 가능하다. ({{{#include "../common/common.h"}}} 와 같이) == 표준 라이브러리 목록 == === C === ==== stdio.h ==== '''S''''''t'''an'''d'''ard '''I'''nput '''O'''utput, 즉 표준 입출력을 의미한다. st'''u'''dio가 아니다. C언어를 처음 접하는 사람들이 많이 실수하는 부분이다. [* Std는 Standard의 축약어로서, 일상적으로도 많이 사용한다.] [[C언어]]의 표준 입/출력 헤더 파일로, printf나 scanf 처럼 콘솔 입/출력을 할 때, 외부 파일을 읽을 때 사용한다. 기초 프로그래밍 교육이 대부분 [[Hello, world!|Hello World]] 출력부터 시작해, 대부분 [[CLI]] 환경을 다루는 것에 그친다는 것을 생각하면, C/C++을 배우면서 자주 보게 되는 헤더 파일이다. ==== time.h ==== 시간 관련 부분함수 [[구조체]]를 담고있는 헤더로 시간관련 부분을 불러오거나 사용할 때 사용한다. ==== math.h ==== [[지수함수]], [[로그함수]], [[삼각함수]], [[지수(수학)|거듭제곱]] 등 수학 관련 함수가 들어가 있다. ==== stdlib.h ==== 문자열 변환, 의사 난수 생성, 동적 메모리 관리 등의 함수들을 포함하고 있다. 주로 프로그램 제어 관련 함수가 들어가 있다. 동적 메모리 할당 함수인 malloc, calloc 함수도 이 헤더에 포함되어 있으며, 시스템 명령어나 프로세스 제어 함수도 포함되어 있다. ==== string.h ==== 문자열(정확히는 문자 배열 - char* str 또는 char str[]) 관련 헤더이다. * strcat - 문자열 합치기 * strcmp - 문자열 비교 * strlen - 문자열 길이 * strcpy - 문자열 복사 등의 함수가 있다. 참고 : [[https://ko.wikipedia.org/wiki/Stdlib.h]] === C++ === 모든 C++의 표준 헤더 파일은 .h를 붙이지 않고도 include를 할 수 있다. ==== 기존의 C 표준 헤더() ==== C 표준 헤더의 파일 이름에서 {{{.h}}} 부분을 제거하고 앞에 {{{c}}}를 붙여서 쓴다. {{{#!syntax cpp #include }}} ==== iostream ==== C++ 전용 표준 입/출력 헤더 파일이다. C의 stdio.h의 printf, scanf와 대응되는 cout, cin 객체가 있다. 터보 C++에서는 iostream.h이다. ==== algorithm ==== C++ 전용 알고리즘 관련 헤더다. 두 변수의 최댓/최솟값을 고르는 max, min 함수와, 리스트나 배열을 정렬하는 sort 함수 등 알고리즘과 관련된 함수를 쓸 수 있다. ==== string ==== C 언어의 string.h처럼 문자열을 객체 단위로 다룰 수 있는 표준 헤더다. std::string으로 타입을 선언해 함수가 아닌 연산자(+, ==)만으로 문자열끼리 더하거나 비교할 수 있다. [[분류:프로그래밍]]