C 표준 라이브러리

1 개요[ | ]

C standard library, libc, ISO C library[1]
C 표준 라이브러리
  • C 언어를 위한 표준 라이브러리
  • ANSI C 표준에 의해 명시됨
  • 상위 집합인 C POSIX 라이브러리와 동시에 개발되었다.
  • 매크로, 타입 정의, 문자열 처리나 수학적 연산, 입출력 프로세스, 메모리 할당과 다른 운영체제 서비스 같은 작업을 위한 함수들을 제공한다.

1.1 헤더 파일들[ | ]

  • C 표준 라이브러리의 API는 여러 헤더 파일들에 정의되어 있다.
  • 각 헤더 파일은 1개 이상의 함수 정의, 데이터 타입 정의, 매크로를 포함한다.
이름 표준 상세
<assert.h> assert 매크로를 포함하며, 이것은 프로그램의 디버깅 버전들에서 논리 오류들과 버그들의 다른 타입들을 탐지하는 것을 돕는데 사용된다.
<complex.h> C99 복소수를 조작하는데 사용되는 함수들의 집합이다.
<ctype.h> 그들의 타입에 따라 문자들을 분류하거나 대소문자를 전환하는데 사용되는 함수들의 집합을 정의한다.
<errno.h> 라이브러리 함수들에 의해 리포트되는 오류 코드들을 테스팅할 때 사용된다.
<fenv.h> C99 부동소수점 환경을 제어하는데 사용되는 함수들의 집합을 정의한다.
<float.h> 부동소수점 라이브러리의 구현된 속성을 명시하는 매크로 상수를 정의한다.
<inttypes.h> C99 정확한 정수형을 정의한다.
<iso646.h> NA1 여러 표준 토큰들을 표현하기 위한 대체 방식들을 구현하는 여러 매크로들을 정의한다.
<limits.h> 정수형 타입의 구현된 속성을 명시하는 매크로 상수를 정의한다.
<locale.h> 지역화 함수를 정의한다.
<math.h> 일반적인 수학 함수를 정의한다.
<setjmp.h> setjmp 와 longjmp 매크로를 선언한다.
<signal.h> 시그널 핸들링 함수를 정의한다.
<stdalign.h> C11 객체들의 얼라인먼트를 질의하고 명시하기 위한 것이다.
<stdarg.h> 함수에 전달되는 인자들에 접근하기 위한 것이다.
<stdatomic.h> C11 스레드 사이에서 공유되는 데이터의 원자적 동작을 위한 것이다.
<stdbool.h> C99 불린 자료형을 정의한다.
<stddef.h> 여러 유용한 타입과 매크로를 정의한다.
<stdint.h> C99 정확한 정수형을 정의한다.
<stdio.h> 핵심 입력과 출력 함수들을 정의한다.
<stdlib.h> 숫자 변환 함수들, 슈도 랜덤 숫자 생성 함수들, 메모리 할당, 프로세스 제어 함수들을 정의한다.
<stdnoreturn.h> C11 반환하지 않는 함수들을 명시하기 위한 것이다.
<string.h> 문자열 처리 함수들을 정의한다.
<tgmath.h> C99 포괄형 수학 함수들을 정의한다.
<threads.h> C11 다중 스레드들과 뮤텍스 그리고 제어 변수들을 관리하는 함수들을 정의한다.
<time.h> 데이터와 시간 처리 함수들을 정의한다.
<uchar.h> C11 유니코드 문자들과 이것을을 조작하는 함수들
<wchar.h> NA1 wide 문자열 처리 함수들을 정의한다.
<wctype.h> NA1 그들의 형에 따라 wide 문자들을 분류하거나 대소문자를 전환하는데 사용되는 함수들의 집합.
  • 헤더파일 3개 (complex.h, stdatomic.hthreads.h) 구현은 필수는 아니다.
  • POSIX 표준은 유닉스를 위한 기능을 위해 여러 표준이 아닌 C 헤더들을 추가하였다.
예: unistd.hsignal.h

2 같이 보기[ | ]

3 참고[ | ]

  1. ANSI C가 국제 표준화 기구에 의해서 채택되고 붙은 이름
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}