내 잡다한 노트

자주 쓰이는 C언어 헤더파일 간단한 설명 본문

Language/C언어

자주 쓰이는 C언어 헤더파일 간단한 설명

peanutwalnut 2023. 5. 13. 14:57

# stdlib.h 
stdlib.h는 C 표준 라이브러리의 일부로, 
프로그램의 메모리 관리, 난수 생성, 문자열 변환, 동적 메모리 할당, 프로그램 종료 등과 같은
일반적인 유틸리티 함수를 포함하고 있습니다.

여기에는 malloc(), free(), realloc()과 같은 동적 메모리 할당 함수, 
rand()와 srand()와 같은 난수 생성 함수, atoi()와 atof()와 같은 문자열 변환 함수, 
exit()와 같은 프로그램 종료 함수, 그리고 system()과 같은 명령어 실행 함수가 포함됩니다. 
이러한 함수들은 C 프로그래밍에서 자주 사용되며, 
특히 메모리 관리와 관련된 함수들은 동적 메모리 할당이 필요한 프로그램에서 필수적으로 
사용됩니다.

# stdio.h
stdio.h는 C언어에서 표준 입출력을 제공하는 라이브러리 헤더 파일입니다. 
이 헤더 파일에는 입력(stdin)과 출력(stdout)을 위한 함수들이 선언되어 있습니다. 
주요 함수로는 printf(), scanf(), getchar(), putchar() 등이 있습니다. 또한 파일 입출력에 
필요한 함수들도 포함되어 있습니다. C언어에서 입출력 기능을 사용할 때는 대부분 stdio.h 
헤더 파일을 include하여 사용합니다.

# string.h
string.h는 문자열 처리를 위한 여러 함수들이 정의된 C 표준 라이브러리 헤더 파일입니다. 
이 헤더 파일에는 다음과 같은 함수들이 포함되어 있습니다.

strcpy(): 문자열을 복사합니다.
strncpy(): 문자열을 지정된 길이만큼 복사합니다.

strcat(): 문자열을 이어붙입니다.
strncat(): 문자열을 지정된 길이만큼 이어붙입니다.

strcmp(): 문자열을 비교합니다.
strncmp(): 문자열을 지정된 길이만큼 비교합니다.

strlen(): 문자열의 길이를 반환합니다.

strchr(): 문자열에서 특정 문자를 검색합니다.
strrchr(): 문자열에서 특정 문자를 역방향으로 검색합니다.

strstr(): 문자열에서 특정 문자열을 검색합니다.

strtok(): 문자열을 일정한 구분자로 분리합니다.

# unistd.h
unistd.h는 유닉스(UNIX) 및 유닉스 계열 운영체제에서 사용되는 함수와 상수들을 
정의하는 C 헤더 파일입니다. 
unistd는 "UNIX standard API"의 일부이며, 
프로세스 제어, 파일 입출력, 환경변수 제어, 디렉토리 작업 등과 같은 시스템 레벨의 
작업을 수행하는 함수들이 포함되어 있습니다. 
대표적인 함수로는 fork(), exec(), getpid(), getcwd() 등이 있습니다. 
unistd.h는 주로 유닉스 환경에서 시스템 프로그래밍을 할 때 사용됩니다.

# stdbool.h
stdbool.h는 C 언어에서 bool, true, false 등 불리언 자료형과 관련된 매크로를 정의하는 
표준 헤더 파일입니다. 이 헤더 파일을 include하면 bool 자료형을 사용할 수 있습니다.
bool은 C99 표준에서 새로 추가된 불리언 자료형으로, true와 false 두 개의 값만 가지며, 
조건문과 논리 연산 등에서 사용됩니다.

stdbool.h 헤더 파일에는 다음과 같은 매크로가 정의되어 있습니다.

bool: 불리언 자료형
true: 참 값을 나타내는 매크로
false: 거짓 값을 나타내는 매크로

# sys/wait.h
sys/wait.h 헤더 파일은 프로세스와 관련된 상태 정보 및 프로세스 종료를 처리하기 위한 
함수들을 제공합니다. 
이 헤더 파일에는 wait(), waitpid(), WIFEXITED(), WIFSIGNALED(), WEXITSTATUS(), 
WTERMSIG() 등의 함수 및 매크로가 정의되어 있습니다.

앞에 붙은 sys는 시스템과 관련된 기능들을 제공하는 라이브러리나 헤더파일에 사용되는
접두어이다.
wait말고 이러한 것들이 더 존재한다.

- sys/types.h : 
기본 데이터 형식, 시스템 콜 및 라이브러리 함수에 사용되는 데이터 타입을 정의합니다.
- sys/stat.h : 파일 및 파일 시스템의 속성과 상태를 검색하고 변경하기 위한 상수, 
구조체 및 함수를 정의합니다.
- sys/socket.h : 네트워크 소켓 프로그래밍에 사용되는 구조체, 매크로 및 함수를 정의합니다.
- sys/time.h : 시간 측정과 관련된 시스템 호출 및 구조체를 정의합니다.
- sys/resource.h : 프로세스와 관련된 시스템 자원(RAM, CPU 등) 및 제한 사항을 정의합니다.
- sys/ipc.h : InterProcess Communication(IPC)을 위한 구조체와 함수를 정의합니다.
- sys/msg.h : IPC 메시지 큐를 위한 구조체와 함수를 정의합니다.
- sys/sem.h : IPC 세마포어를 위한 구조체와 함수를 정의합니다.
- sys/shm.h : IPC 공유 메모리를 위한 구조체와 함수를 정의합니다.

'Language > C언어' 카테고리의 다른 글

C언어 배열포인터  (0) 2023.05.13
memset, strcpy  (0) 2023.03.20
C언어) 포인터, 이중포인터, 포인터와 배열  (0) 2023.03.12
C언어) 입력, 배열, 문자열  (0) 2023.03.08
C언어) 주석, 출력, 자료형  (0) 2023.03.06