C 표준 라이브러리-퀵 가이드

그만큼 assert.h C 표준 라이브러리의 헤더 파일은 assert 프로그램에서 가정 한 내용을 확인하고이 가정이 거짓 인 경우 진단 메시지를 인쇄하는 데 사용할 수 있습니다.

정의 된 매크로 assert 다른 매크로를 참조 NDEBUG<assert.h>의 일부가 아닙니다. 소스 파일에서 NDEBUG가 매크로 이름으로 정의 된 경우 <assert.h>가 포함 된 지점에서assert 매크로는 다음과 같이 정의됩니다-

#define assert(ignore) ((void)0)

라이브러리 매크로

다음은 assert.h 헤더에 정의 된 유일한 기능입니다-

Sr. 아니. 기능 및 설명
1 void assert (int 표현식)

이것은 실제로 C 프로그램에 진단을 추가하는 데 사용할 수있는 함수가 아니라 매크로입니다.

그만큼 ctype.h C 표준 라이브러리의 헤더 파일은 문자를 테스트하고 매핑하는 데 유용한 여러 함수를 선언합니다.

모든 기능은 int 값이 EOF이거나 부호없는 문자로 표현 가능해야하는 매개 변수로.

모든 함수는 인수 c가 설명 된 조건을 충족하면 0이 아닌 (true)을 반환하고 그렇지 않으면 0 (false)을 반환합니다.

라이브러리 기능

다음은 헤더 ctype.h에 정의 된 함수입니다-

Sr. 아니. 기능 및 설명
1 int isalnum (int c)

이 함수는 전달 된 문자가 영숫자인지 확인합니다.

2 int isalpha (int c)

이 함수는 전달 된 문자가 알파벳인지 확인합니다.

int iscntrl (int c)

이 함수는 전달 된 문자가 제어 문자인지 확인합니다.

4 int isdigit (int c)

전달 된 문자가 10 진수인지 확인하는 기능입니다.

5 int isgraph (int c)

이 함수는 전달 된 문자가 로케일을 사용하여 그래픽 표현이 있는지 확인합니다.

6 int islower (int c)

이 함수는 전달 된 문자가 소문자인지 확인합니다.

7 int isprint (int c)

이 함수는 전달 된 문자가 인쇄 가능한지 여부를 확인합니다.

8 int ispunct (int c)

이 함수는 전달 된 문자가 구두점 문자인지 확인합니다.

9 int isspace (int c)

이 함수는 전달 된 문자가 공백인지 여부를 확인합니다.

10 int isupper (int c)

이 함수는 전달 된 문자가 대문자인지 확인합니다.

11 int isxdigit (int c)

이 함수는 전달 된 문자가 16 진수인지 확인합니다.

라이브러리에는 "int"를 허용하고 반환하는 두 개의 변환 함수도 포함되어 있습니다.

Sr. 아니. 기능 및 설명
1 int tolower (int c)

이 함수는 대문자를 소문자로 변환합니다.

2 int toupper (int c)

이 함수는 소문자를 대문자로 변환합니다.

캐릭터 클래스

Sr. 아니. 캐릭터 클래스 및 설명
1

Digits

이것은 정수 집합 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}입니다.

2

Hexadecimal digits

이것은 {0 1 2 3 4 5 6 7 8 9 ABCDEF abcdef}의 집합입니다.

Lowercase letters

소문자 세트 {abcdefghijklmnopqrstu vwxyz}입니다.

4

Uppercase letters

대문자 {ABCDEFGHIJKLMNOPQRSTU VWXYZ}의 집합입니다.

5

Letters

이것은 소문자와 대문자의 집합입니다.

6

Alphanumeric characters

이것은 숫자, 소문자 및 대문자의 집합입니다.

7

Punctuation characters

이것은 세트입니다! "# $ % & '() * +,-. / :; <=>? @ [\] ^ _`{|} ~

8

Graphical characters

영숫자 및 구두점 문자 세트입니다.

9

Space characters

이것은 탭, 개행, 세로 탭, 용지 공급, 캐리지 리턴 및 공백의 집합입니다.

10

Printable characters

영숫자 문자, 구두점 문자 및 공백 문자 세트입니다.

11

Control characters

ASCII에서 이러한 문자에는 000에서 037까지의 8 진수 코드 및 177 (DEL)이 있습니다.

12

Blank characters

이것은 공백과 탭입니다.

13

Alphabetic characters

소문자와 대문자의 집합입니다.

그만큼 errno.h C 표준 라이브러리의 헤더 파일은 정수 변수를 정의합니다. errno, 오류 발생시 시스템 호출 및 일부 라이브러리 함수에 의해 설정되어 무엇이 잘못되었는지 나타냅니다. 이 매크로는 int 유형의 수정 가능한 lvalue로 확장되므로 프로그램에서 읽고 수정할 수 있습니다.

그만큼 errno프로그램 시작시 0으로 설정됩니다. 표준 C 라이브러리의 특정 함수는 일부 유형의 오류를 알리기 위해 값을 0이 아닌 값으로 수정합니다. 편의에 따라 값을 수정하거나 0으로 재설정 할 수도 있습니다.

그만큼 errno.h 헤더 파일은 또한 다른 오류 코드를 나타내는 매크로 목록을 정의합니다. 이는 유형이있는 정수 상수 표현식으로 확장됩니다. int.

라이브러리 매크로

다음은 헤더 errno.h에 정의 된 매크로입니다-

Sr. 아니. 매크로 및 설명
1 extern int errno

이것은 오류가 발생한 경우 시스템 호출 및 일부 라이브러리 함수에 의해 설정된 매크로로 무엇이 잘못되었는지를 나타냅니다.

2 EDOM 도메인 오류

이 매크로는 입력 인수가 수학 함수가 정의되고 errno가 EDOM으로 설정된 도메인 외부에있는 경우 발생하는 도메인 오류를 나타냅니다.

ERANGE 범위 오류

이 매크로는 입력 인수가 수학 함수가 정의되고 errno가 ERANGE로 설정된 범위를 벗어난 경우 발생하는 범위 오류를 나타냅니다.

그만큼 float.hC 표준 라이브러리의 헤더 파일에는 부동 소수점 값과 관련된 다양한 플랫폼 종속 상수 세트가 포함되어 있습니다. 이러한 상수는 ANSI C에서 제안합니다.이 상수를 사용하면보다 이식 가능한 프로그램을 만들 수 있습니다. 모든 상수를 확인하기 전에 부동 소수점 숫자가 다음 네 가지 요소로 구성되어 있음을 이해하는 것이 좋습니다.

Sr. 아니. 구성 요소 및 구성 요소 설명
1

S

기호 (+/-)

2

b

지수 표현의 기수 또는 기수, 2 진수 2, 10 진수 10, 16 진수 16 등 ...

e

지수, 최소값 사이의 정수 emin 그리고 최대 emax.

4

p

정밀도, 유효 숫자의 기본 b 자릿수.

위의 4 개 구성 요소를 기반으로 부동 소수점은 다음과 같은 값을 갖습니다.

floating-point = ( S ) p x be

or

floating-point = (+/-) precision x baseexponent

라이브러리 매크로

다음 값은 구현에 따라 다르며 #define 지시문으로 정의되지만 이러한 값은 여기에 제공된 값보다 낮을 수 없습니다. 모든 경우에 FLT는float, DBL은 double, LDBL은 long double.

Sr. 아니. 매크로 및 설명
1

FLT_ROUNDS

부동 소수점 덧셈을위한 반올림 모드를 정의하며 다음 값 중 하나를 가질 수 있습니다.

  • -1 − 결정 불가능
  • 0-0쪽으로
  • 1 − 가장 가까운
  • 2 − 양의 무한대로
  • 3 − 음의 무한대로
2

FLT_RADIX 2

이것은 지수의 기본 기수 표현을 정의합니다. 2 진법은 2 진, 10 진법은 일반 십진 표현, 16 진법은 16 진법입니다.

FLT_MANT_DIG

DBL_MANT_DIG

LDBL_MANT_DIG

이 매크로는 숫자 (FLT_RADIX 기준)의 자릿수를 정의합니다.

4

FLT_DIG 6

DBL_DIG 10

LDBL_DIG 10

이 매크로는 반올림 후 변경하지 않고 표현할 수있는 최대 십진수 (밑수 10)를 정의합니다.

5

FLT_MIN_EXP

DBL_MIN_EXP

LDBL_MIN_EXP

이러한 매크로는 기본 FLT_RADIX의 지수에 대한 최소 음의 정수 값을 정의합니다.

6

FLT_MIN_10_EXP -37

DBL_MIN_10_EXP -37

LDBL_MIN_10_EXP -37

이 매크로는 10 진법의 지수에 대한 최소 음의 정수 값을 정의합니다.

7

FLT_MAX_EXP

DBL_MAX_EXP

LDBL_MAX_EXP

이러한 매크로는 기본 FLT_RADIX의 지수에 대한 최대 정수 값을 정의합니다.

8

FLT_MAX_10_EXP +37

DBL_MAX_10_EXP +37

LDBL_MAX_10_EXP +37

이러한 매크로는 10 진법의 지수에 대한 최대 정수 값을 정의합니다.

9

FLT_MAX 1E+37

DBL_MAX 1E+37

LDBL_MAX 1E+37

이러한 매크로는 최대 유한 부동 소수점 값을 정의합니다.

10

FLT_EPSILON 1E-5

DBL_EPSILON 1E-9

LDBL_EPSILON 1E-9

이러한 매크로는 표현 가능한 최하위 숫자를 정의합니다.

11

FLT_MIN 1E-37

DBL_MIN 1E-37

LDBL_MIN 1E-37

이러한 매크로는 최소 부동 소수점 값을 정의합니다.

다음 예제는 float.h 파일에 정의 된 몇 가지 상수의 사용법을 보여줍니다.

#include <stdio.h>
#include <float.h>

int main () {
   printf("The maximum value of float = %.10e\n", FLT_MAX);
   printf("The minimum value of float = %.10e\n", FLT_MIN);

   printf("The number of digits in the number = %.10e\n", FLT_MANT_DIG);
}

다음 결과를 생성하는 위의 프로그램을 컴파일하고 실행 해 보겠습니다.

The maximum value of float = 3.4028234664e+38
The minimum value of float = 1.1754943508e-38
The number of digits in the number = 7.2996655210e-312

그만큼 limits.h헤더는 다양한 변수 유형의 다양한 속성을 결정합니다. 이 헤더에 정의 된 매크로는 char, int 및 long과 같은 다양한 변수 유형의 값을 제한합니다.

이러한 제한은 변수가 이러한 제한을 초과하는 값을 저장할 수 없음을 지정합니다. 예를 들어 부호없는 문자는 최대 값 255까지 저장할 수 있습니다.

라이브러리 매크로

다음 값은 구현에 따라 다르며 #define 지시문으로 정의되지만 이러한 값은 여기에 제공된 값보다 낮을 수 없습니다.

매크로 기술
CHAR_BIT 8 바이트의 비트 수를 정의합니다.
SCHAR_MIN -128 부호있는 문자의 최소값을 정의합니다.
SCHAR_MAX +127 부호있는 문자의 최대 값을 정의합니다.
UCHAR_MAX 255 부호없는 문자의 최대 값을 정의합니다.
CHAR_MIN -128 char 유형의 최소값을 정의하고 char이 음수 값을 나타내는 경우 해당 값은 SCHAR_MIN과 같고 그렇지 않으면 0입니다.
CHAR_MAX +127 char 유형의 값을 정의하고 char이 음수 값을 나타내는 경우 해당 값은 SCHAR_MAX와 같고, 그렇지 않으면 UCHAR_MAX입니다.
MB_LEN_MAX 16 멀티 바이트 문자의 최대 바이트 수를 정의합니다.
SHRT_MIN -32768 short int의 최소값을 정의합니다.
SHRT_MAX +32767 short int의 최대 값을 정의합니다.
USHRT_MAX 65535 unsigned short int의 최대 값을 정의합니다.
INT_MIN -2147483648 int의 최소값을 정의합니다.
INT_MAX +2147483647 int의 최대 값을 정의합니다.
UINT_MAX 4294967295 unsigned int의 최대 값을 정의합니다.
LONG_MIN -9223372036854775808 long int의 최소값을 정의합니다.
LONG_MAX +9223372036854775807 long int의 최대 값을 정의합니다.
ULONG_MAX 18446744073709551615 unsigned long int의 최대 값을 정의합니다.

다음 예는에 정의 된 몇 가지 상수의 사용법을 보여줍니다. limits.h 파일.

#include <stdio.h>
#include <limits.h>

int main() {

   printf("The number of bits in a byte %d\n", CHAR_BIT);

   printf("The minimum value of SIGNED CHAR = %d\n", SCHAR_MIN);
   printf("The maximum value of SIGNED CHAR = %d\n", SCHAR_MAX);
   printf("The maximum value of UNSIGNED CHAR = %d\n", UCHAR_MAX);

   printf("The minimum value of SHORT INT = %d\n", SHRT_MIN);
   printf("The maximum value of SHORT INT = %d\n", SHRT_MAX); 

   printf("The minimum value of INT = %d\n", INT_MIN);
   printf("The maximum value of INT = %d\n", INT_MAX);

   printf("The minimum value of CHAR = %d\n", CHAR_MIN);
   printf("The maximum value of CHAR = %d\n", CHAR_MAX);

   printf("The minimum value of LONG = %ld\n", LONG_MIN);
   printf("The maximum value of LONG = %ld\n", LONG_MAX);
  
   return(0);
}

다음 결과를 생성하는 위의 프로그램을 컴파일하고 실행 해 보겠습니다.

The number of bits in a byte 8
The minimum value of SIGNED CHAR = -128
The maximum value of SIGNED CHAR = 127
The maximum value of UNSIGNED CHAR = 255
The minimum value of SHORT INT = -32768
The maximum value of SHORT INT = 32767
The minimum value of INT = -2147483648
The maximum value of INT = 2147483647
The minimum value of CHAR = -128
The maximum value of CHAR = 127
The minimum value of LONG = -9223372036854775808
The maximum value of LONG = 9223372036854775807

그만큼 locale.h헤더는 날짜 형식 및 통화 기호와 같은 위치 별 설정을 정의합니다. 중요한 구조와 함께 정의 된 여러 매크로를 찾을 수 있습니다.struct lconv 아래에 나열된 두 가지 중요한 기능이 있습니다.

라이브러리 매크로

다음은 헤더에 정의 된 매크로이며 이러한 매크로는 아래 나열된 두 가지 기능에서 사용됩니다.

Sr. 아니. 매크로 및 설명
1

LC_ALL

모든 것을 설정합니다.

2

LC_COLLATE

strcoll 및 strxfrm 함수에 영향을줍니다.

LC_CTYPE

모든 캐릭터 기능에 영향을 미칩니다.

4

LC_MONETARY

localeconv 함수에서 제공하는 통화 정보에 영향을줍니다.

5

LC_NUMERIC

소수점 형식 및 localeconv 함수에서 제공하는 정보에 영향을줍니다.

6

LC_TIME

strftime 함수에 영향을줍니다.

라이브러리 기능

다음은 헤더 locale.h에 정의 된 함수입니다-

Sr. 아니. 기능 및 설명
1 char * setlocale (int 카테고리, const char * locale)

위치에 따른 정보를 설정하거나 읽습니다.

2 구조체 lconv * localeconv (void)

위치에 따른 정보를 설정하거나 읽습니다.

도서관 구조

typedef struct {
   char *decimal_point;
   char *thousands_sep;
   char *grouping;	
   char *int_curr_symbol;
   char *currency_symbol;
   char *mon_decimal_point;
   char *mon_thousands_sep;
   char *mon_grouping;
   char *positive_sign;
   char *negative_sign;
   char int_frac_digits;
   char frac_digits;
   char p_cs_precedes;
   char p_sep_by_space;
   char n_cs_precedes;
   char n_sep_by_space;
   char p_sign_posn;
   char n_sign_posn;
} lconv

다음은 각 필드에 대한 설명입니다.

Sr. 아니. 필드 및 설명
1

decimal_point

비 금전적 값에 사용되는 소수점 문자입니다.

2

thousands_sep

비 금전적 값에 사용되는 천 자리 구분 문자입니다.

grouping

비 금전적 수량으로 각 자릿수 그룹의 크기를 나타내는 문자열입니다. 각 문자는 현재 그룹의 자릿수를 지정하는 정수 값을 나타냅니다. 0 값은 나머지 그룹에 이전 값이 사용됨을 의미합니다.

4

int_curr_symbol

사용 된 국제 통화 기호의 문자열입니다. 처음 세 문자는 ISO 4217 : 1987에 지정된 문자이고 네 번째 문자는 통화 기호와 통화 수량을 구분하는 문자입니다.

5

currency_symbol

통화에 사용되는 지역 기호입니다.

6

mon_decimal_point

화폐 가치에 사용되는 소수점 문자.

7

mon_thousands_sep

화폐 가치에 사용되는 천 자리 그룹화 문자입니다.

8

mon_grouping

요소가 화폐 값에서 숫자 그룹의 크기를 정의하는 문자열입니다. 각 문자는 현재 그룹의 자릿수를 지정하는 정수 값을 나타냅니다. 0 값은 나머지 그룹에 이전 값이 사용됨을 의미합니다.

9

positive_sign

양의 화폐 가치에 사용되는 문자입니다.

10

negative_sign

음수 금액에 사용되는 문자입니다.

11

int_frac_digits

국제 통화 값에서 소수점 뒤에 표시 할 자릿수입니다.

12

frac_digits

통화 값에서 소수점 뒤에 표시 할 자릿수입니다.

13

p_cs_precedes

1과 같으면 currency_symbol이 양의 통화 값 앞에 나타납니다. 0과 같으면 currency_symbol이 양의 통화 값 뒤에 나타납니다.

14

p_sep_by_space

1과 같으면 currency_symbol이 양의 통화 값과 공백으로 구분됩니다. 0과 같으면 currency_symbol과 양의 통화 값 사이에 공백이 없습니다.

15

n_cs_precedes

1과 같으면 currency_symbol이 음수 통화 값 앞에옵니다. 0과 같으면 currency_symbol이 음의 통화 값을 이어갑니다.

16

n_sep_by_space

1과 같으면 currency_symbol이 음수 통화 값과 공백으로 구분됩니다. 0과 같으면 currency_symbol과 음수 통화 값 사이에 공백이 없습니다.

17

p_sign_posn

양의 통화 값에서 positive_sign의 위치를 ​​나타냅니다.

18

n_sign_posn

음수 통화 값에서 negative_sign의 위치를 ​​나타냅니다.

다음 값이 사용됩니다. p_sign_posnn_sign_posn

기술
0 괄호는 값과 currency_symbol을 캡슐화합니다.
1 기호는 value 및 currency_symbol 앞에 있습니다.
2 부호는 값과 currency_symbol을 이어받습니다.
부호는 value 및 currency_symbol 바로 앞에 있습니다.
4 부호는 값과 currency_symbol에 즉시 이어집니다.

그만큼 math.h헤더는 다양한 수학 함수와 하나의 매크로를 정의합니다. 이 라이브러리에서 사용할 수있는 모든 기능은double 인수 및 반환 double 결과로서.

라이브러리 매크로

이 라이브러리에는 하나의 매크로 만 정의되어 있습니다.

Sr. 아니. 매크로 및 설명
1

HUGE_VAL

이 매크로는 함수의 결과가 부동 소수점 숫자로 표현되지 않을 때 사용됩니다. 올바른 결과의 크기가 너무 커서 표현할 수없는 경우 함수는 범위 오류를 나타 내기 위해 errno를 ERANGE로 설정하고 매크로 HUGE_VAL 또는 그 부정 (-HUGE_VAL)에 의해 명명 된 매우 큰 특정 값을 반환합니다.

결과의 크기가 너무 작 으면 대신 0 값이 반환됩니다. 이 경우 errno는 ERANGE로 설정되거나 설정되지 않을 수 있습니다.

라이브러리 기능

다음은 헤더 math.h에 정의 된 함수입니다-

Sr. 아니. 기능 및 설명
1 double acos (double x)

라디안 단위의 x 아크 코사인을 반환합니다.

2 더블 asin (더블 x)

x의 아크 사인을 라디안으로 반환합니다.

더블 아탄 (더블 x)

x의 아크 탄젠트를 라디안으로 반환합니다.

4 더블 atan2 (더블 y, 더블 x)

올바른 사분면을 결정하기 위해 두 값의 부호를 기준으로 y / x 라디안 단위의 아크 탄젠트를 반환합니다.

5 double cos (이중 x)

라디안 각도 x의 코사인을 반환합니다.

6 더블 코시 (더블 x)

x의 쌍곡 코사인을 반환합니다.

7 이중 죄 (double x)

라디안 각도 x의 사인을 반환합니다.

8 double sinh (이중 x)

x의 쌍곡 사인을 반환합니다.

9 double tanh (더블 x)

x의 쌍곡 탄젠트를 반환합니다.

10 double exp (double x)

값을 반환합니다. e x 제곱으로 올렸습니다.

11 double frexp (double x, int * exponent)

반환 된 값은 가수이고 지수가 가리키는 정수는 지수입니다. 결과 값은 x = 가수 * 2 ^ 지수입니다.

12 double ldexp (double x, int exponent)

보고 x 지수의 거듭 제곱으로 2를 곱합니다.

13 이중 로그 (double x)

자연 로그 (base-e 로그)를 반환합니다. x.

14 double log10 (double x)

다음의 공통 로그 (밑이 10 인 로그)를 반환합니다. x.

15 double modf (double x, double * integer)

반환 된 값은 분수 구성 요소 (소수점 뒤의 부분)이며 정수를 정수 구성 요소로 설정합니다.

16 double pow (double x, double y)

x의 제곱을 반환합니다. y.

17 더블 sqrt (더블 x)

제곱근을 반환합니다. x.

18 더블 셀 (더블 x)

다음보다 크거나 같은 가장 작은 정수 값을 반환합니다. x.

19 더블 팹 (더블 x)

절대 값을 반환합니다. x.

20 더블 플로어 (더블 x)

다음보다 작거나 같은 가장 큰 정수 값을 반환합니다. x.

21 double fmod (double x, double y)

x의 나머지를 다음으로 나눈 값을 반환합니다. y.

그만큼 setjmp.h 헤더는 매크로를 정의합니다. setjmp(), 하나의 기능 longjmp()및 하나의 변수 유형 jmp_buf, 일반 함수 호출을 우회하고 규율을 반환합니다.

라이브러리 변수

다음은 헤더 setjmp.h에 정의 된 변수 유형입니다-

Sr. 아니. 변수 및 설명
1

jmp_buf

매크로에 대한 정보를 보유하는 데 사용되는 배열 유형입니다. setjmp() 및 기능 longjmp().

라이브러리 매크로

이 라이브러리에는 하나의 매크로 만 정의되어 있습니다.

Sr. 아니. 매크로 및 설명
1 int setjmp (jmp_buf 환경)

이 매크로는 현재 환경 을 변수에 저장합니다.environment 나중에 함수에서 사용하기 위해 longjmp(). 이 매크로가 매크로 호출에서 직접 반환하면 0을 반환하지만longjmp() 함수를 호출하면 0이 아닌 값이 반환됩니다.

라이브러리 기능

다음은 헤더 setjmp.h에 정의 된 유일한 함수입니다-

Sr. 아니. 기능 및 설명
1 void longjmp (jmp_buf 환경, 정수 값)

이 기능은에 대한 가장 최근 호출로 저장된 환경을 복원합니다. setjmp() 해당하는 프로그램의 동일한 호출에서 매크로 jmp_buf 논의.

그만큼 signal.h 헤더는 변수 유형을 정의합니다. sig_atomic_t, 두 개의 함수 호출 및 프로그램 실행 중에보고 된 서로 다른 신호를 처리하기위한 여러 매크로.

라이브러리 변수

다음은 헤더 신호에 정의 된 변수 유형입니다.

Sr. 아니. 변수 및 설명
1

sig_atomic_t

이것은 int유형이며 신호 처리기에서 변수로 사용됩니다. 이것은 비동기 신호가있는 경우에도 원자 엔티티로 액세스 할 수있는 통합 유형의 객체입니다.

라이브러리 매크로

다음은 signal.h 헤더에 정의 된 매크로이며 이러한 매크로는 아래 나열된 두 가지 기능에서 사용됩니다. 그만큼SIG_ 매크로는 신호 기능을 정의하기 위해 신호 기능과 함께 사용됩니다.

Sr. 아니. 매크로 및 설명
1

SIG_DFL

기본 신호 처리기.

2

SIG_ERR

신호 오류를 나타냅니다.

SIG_IGN

신호 무시.

그만큼 SIG 매크로는 다음 조건에서 신호 번호를 나타내는 데 사용됩니다.

Sr. 아니. 매크로 및 설명
1

SIGABRT

비정상적인 프로그램 종료.

2

SIGFPE

0으로 나누기와 같은 부동 소수점 오류.

SIGILL

잘못된 작업입니다.

4

SIGINT

ctrl-C와 같은 인터럽트 신호.

5

SIGSEGV

세그먼트 위반과 같은 스토리지에 대한 잘못된 액세스.

6

SIGTERM

해지 요청.

라이브러리 기능

다음은 헤더 signal.h에 정의 된 기능입니다.

Sr. 아니. 기능 및 설명
1 void (* signal (int sig, void (* func) (int))) (int)

이 함수는 신호를 처리하는 함수, 즉 신호 처리기를 설정합니다.

2 int raise (int sig)

이 기능은 신호를 일으 킵니다 sig생성됩니다. sig 인수는 SIG 매크로와 호환됩니다.

그만큼 stdarg.h 헤더는 변수 유형을 정의합니다. va_list 그리고 인수 개수를 알 수없는 경우 함수에서 인수를 가져 오는 데 사용할 수있는 세 개의 매크로, 즉 가변 개수의 인수가 있습니다.

변수 인수의 함수는 매개 변수 목록 끝에 줄임표 (, ...)로 정의됩니다.

라이브러리 변수

다음은 헤더 stdarg.h에 정의 된 변수 유형입니다-

Sr. 아니. 변수 및 설명
1

va_list

3 개의 매크로가 필요로하는 정보 보유에 적합한 타입입니다. va_start(), va_arg()va_end().

라이브러리 매크로

다음은 헤더 stdarg.h에 정의 된 매크로입니다-

Sr. 아니. 매크로 및 설명
1 무효 va_start (va_list ap, last_arg)

이 매크로는 초기화됩니다. ap 와 함께 사용할 변수 va_argva_end매크로. 그만큼last_arg 함수에 전달되는 마지막으로 알려진 고정 인수, 즉 줄임표 앞의 인수입니다.

2 va_arg (va_list ap, type) 유형

이 매크로는 유형이있는 함수의 매개 변수 목록에서 다음 인수를 검색합니다. type.

무효 va_end (va_list ap)

이 매크로는 va_start반환 할 매크로. 만약va_end 함수에서 반환되기 전에 호출되지 않으면 결과가 정의되지 않습니다.

그만큼 stddef.h헤더는 다양한 변수 유형과 매크로를 정의합니다. 이러한 정의의 대부분은 다른 헤더에도 나타납니다.

라이브러리 변수

다음은 헤더 stddef.h에 정의 된 변수 유형입니다-

Sr. 아니. 변수 및 설명
1

ptrdiff_t

이것은 부호있는 정수 유형이며 두 포인터를 뺀 결과입니다.

2

size_t

이것은 부호없는 정수 유형이며 sizeof 예어.

wchar_t

이것은 와이드 문자 상수 크기의 정수 유형입니다.

라이브러리 매크로

다음은 헤더 stddef.h에 정의 된 매크로입니다-

Sr. 아니. 매크로 및 설명
1 없는

이 매크로는 널 포인터 상수의 값입니다.

2 offsetof (유형, 멤버 지정자)

그 결과 구조 시작 부분에서 구조 멤버의 바이트 단위 오프셋 인 size_t 유형의 상수 정수가 생성됩니다. 멤버는 member-designator에 의해 지정 되고 구조의 이름은 type에 지정됩니다 .

그만큼 stdio.h header는 세 가지 변수 유형, 여러 매크로 및 입력 및 출력을 수행하기위한 다양한 기능을 정의합니다.

라이브러리 변수

다음은 헤더 stdio.h에 정의 된 변수 유형입니다-

Sr. 아니. 변수 및 설명
1

size_t

이것은 부호없는 정수 유형이며 sizeof 예어.

2

FILE

파일 스트림에 대한 정보를 저장하는 데 적합한 객체 유형입니다.

fpos_t

파일의 모든 위치를 저장하는 데 적합한 객체 유형입니다.

라이브러리 매크로

다음은 헤더 stdio.h에 정의 된 매크로입니다-

Sr. 아니. 매크로 및 설명
1

NULL

이 매크로는 널 포인터 상수의 값입니다.

2

_IOFBF, _IOLBF _IONBF

이것들은 고유 한 값을 가진 정수 상수 표현식으로 확장되고에 대한 세 번째 인수로 사용하기에 적합한 매크로입니다. setvbuf 함수.

BUFSIZ

이 매크로는 정수로, 사용자가 사용하는 버퍼 크기를 나타냅니다. setbuf 함수.

4

EOF

이 매크로는 음의 정수이며 파일 끝에 도달했음을 나타냅니다.

5

FOPEN_MAX

이 매크로는 시스템이 동시에 열리도록 보장 할 수있는 최대 파일 수를 나타내는 정수입니다.

6

FILENAME_MAX

이 매크로는 가장 긴 파일 이름을 보유하는 데 적합한 char 배열의 가장 긴 길이를 나타내는 정수입니다. 구현에 제한이없는 경우이 값은 권장되는 최대 값이어야합니다.

7

L_tmpnam

이 매크로는 정수입니다.이 매크로는에 의해 생성 된 가능한 가장 긴 임시 파일 이름을 보유하는 데 적합한 char 배열의 가장 긴 길이를 나타냅니다. tmpnam 함수.

8

SEEK_CUR, SEEK_END,SEEK_SET

이러한 매크로는 fseek 파일에서 다른 위치를 찾는 기능.

9

TMP_MAX

이 매크로는 함수가 수행하는 고유 파일 이름의 최대 수입니다. tmpnam 생성 할 수 있습니다.

10

stderr, stdin,stdout

이러한 매크로는 표준 오류, 표준 입력 및 표준 출력 스트림에 해당하는 FILE 유형에 대한 포인터입니다.

라이브러리 기능

다음은 헤더 stdio.h에 정의 된 함수입니다-

더 나은 이해와 활용을 위해 동일한 순서의 기능을 따르십시오. Try it(온라인 컴파일러) 옵션입니다. 첫 번째 함수에서 생성 된 파일은 후속 함수에서 사용되기 때문입니다.
Sr. 아니. 기능 및 설명
1 int fclose (파일 * 스트림)

스트림을 닫습니다. 모든 버퍼가 플러시됩니다.

2 void clearerr (파일 * 스트림)

지정된 스트림에 대한 파일 끝 및 오류 표시기를 지 웁니다.

int feof (파일 * stream)

지정된 스트림에 대한 파일 끝 표시기를 테스트합니다.

4 int ferror (파일 * 스트림)

지정된 스트림에 대한 오류 표시기를 테스트합니다.

5 int fflush (파일 * stream)

스트림의 출력 버퍼를 플러시합니다.

6 int fgetpos (파일 * stream, fpos_t * pos)

스트림의 현재 파일 위치를 가져 와서 pos에 씁니다.

7 파일 * fopen (const char * filename, const char * mode)

주어진 모드를 사용하여 파일 이름이 가리키는 파일 이름을 엽니 다.

8 size_t fread (void * ptr, size_t 크기, size_t nmemb, FILE * stream)

주어진 스트림에서 ptr이 가리키는 배열로 데이터를 읽습니다.

9 파일 * freopen (const char * filename, const char * mode, FILE * stream)

새 파일 이름을 지정된 열린 스트림과 연결하고 동시에 스트림에서 이전 파일을 닫습니다.

10 int fseek (FILE * stream, long int 오프셋, int whence)

스트림의 파일 위치를 지정된 오프셋으로 설정합니다. 인수 오프셋 의미는 바이트 수는 주어진에서 추구 어디서의 위치.

11 int fsetpos (파일 * stream, const fpos_t * pos)

지정된 스트림의 파일 위치를 지정된 위치로 설정합니다. 인수 pos 는 fgetpos 함수가 제공하는 위치입니다.

12 long int ftell (파일 * 스트림)

주어진 스트림의 현재 파일 위치를 반환합니다.

13 size_t fwrite (const void * ptr, size_t size, size_t nmemb, FILE * stream)

ptr이 가리키는 배열의 데이터를 지정된 스트림에 씁니다.

14 int remove (const char * filename)

더 이상 액세스 할 수 없도록 지정된 파일 이름을 삭제합니다.

15 int rename (const char * old_filename, const char * new_filename)

old_filename이 참조하는 파일 이름이 new_filename으로 변경되도록합니다.

16 무효 되감기 (FILE * 스트림)

파일 위치를 지정된 스트림의 파일 시작으로 설정합니다.

17 void setbuf (FILE * stream, char * buffer)

스트림 버퍼링 방법을 정의합니다.

18 int setvbuf (FILE * stream, char * buffer, int 모드, size_t 크기)

스트림 버퍼링 방법을 정의하는 또 다른 함수입니다.

19 파일 * tmpfile (void)

바이너리 업데이트 모드 (wb +)에서 임시 파일을 생성합니다.

20 char * tmpnam (char * str)

존재하지 않는 유효한 임시 파일 이름을 생성하고 반환합니다.

21 int fprintf (FILE * stream, const char * format, ...)

형식화 된 출력을 스트림으로 보냅니다.

22 int printf (const char * format, ...)

형식화 된 출력을 stdout으로 보냅니다.

23 int sprintf (char * str, const char * format, ...)

형식화 된 출력을 문자열로 보냅니다.

24 int vfprintf (파일 * stream, const char * format, va_list arg)

인수 목록을 사용하여 형식화 된 출력을 스트림으로 보냅니다.

25 int vprintf (const char * format, va_list arg)

인수 목록을 사용하여 형식화 된 출력을 stdout으로 보냅니다.

26 int vsprintf (char * str, const char * format, va_list arg)

인수 목록을 사용하여 형식화 된 출력을 문자열로 보냅니다.

27 int fscanf (파일 * stream, const char * format, ...)

스트림에서 형식화 된 입력을 읽습니다.

28 int scanf (const char * format, ...)

stdin에서 형식화 된 입력을 읽습니다.

29 int sscanf (const char * str, const char * format, ...)

문자열에서 형식화 된 입력을 읽습니다.

30 int fgetc (파일 * stream)

지정된 스트림에서 다음 문자 (부호없는 문자)를 가져오고 스트림의 위치 표시기를 앞으로 이동합니다.

31 char * fgets (char * str, int n, FILE * stream)

지정된 스트림에서 한 줄을 읽고 str이 가리키는 문자열에 저장합니다. (n-1) 문자를 읽거나, 개행 문자를 읽거나, 파일 끝에 도달 할 때 (둘 중 먼저 오는 쪽) 중지됩니다.

32 int fputc (int char, FILE * stream)

char 인수로 지정된 문자 (부호없는 문자)를 지정된 스트림에 쓰고 스트림의 위치 표시기를 앞으로 이동합니다.

33 int fputs (const char * str, FILE * stream)

Writes a string to the specified stream up to but not including the null character.

34 int getc(FILE *stream)

Gets the next character (an unsigned char) from the specified stream and advances the position indicator for the stream.

35 int getchar(void)

Gets a character (an unsigned char) from stdin.

36 char *gets(char *str)

Reads a line from stdin and stores it into the string pointed to by, str. It stops when either the newline character is read or when the end-of-file is reached, whichever comes first.

37 int putc(int char, FILE *stream)

Writes a character (an unsigned char) specified by the argument char to the specified stream and advances the position indicator for the stream.

38 int putchar(int char)

Writes a character (an unsigned char) specified by the argument char to stdout.

39 int puts(const char *str)

Writes a string to stdout up to but not including the null character. A newline character is appended to the output.

40 int ungetc(int char, FILE *stream)

Pushes the character char (an unsigned char) onto the specified stream so that the next character is read.

41 void perror(const char *str)

Prints a descriptive error message to stderr. First the string str is printed followed by a colon and then a space.

The stdlib.h header defines four variable types, several macros, and various functions for performing general functions.

Library Variables

Following are the variable types defined in the header stdlib.h −

Sr.No. Variable & Description
1

size_t

This is the unsigned integral type and is the result of the sizeof keyword.

2

wchar_t

This is an integer type of the size of a wide character constant.

3

div_t

This is the structure returned by the div function.

4

ldiv_t

This is the structure returned by the ldiv function.

Library Macros

Following are the macros defined in the header stdlib.h −

Sr.No. Macro & Description
1

NULL

This macro is the value of a null pointer constant.

2

EXIT_FAILURE

This is the value for the exit function to return in case of failure.

3

EXIT_SUCCESS

This is the value for the exit function to return in case of success.

4

RAND_MAX

This macro is the maximum value returned by the rand function.

5

MB_CUR_MAX

This macro is the maximum number of bytes in a multi-byte character set which cannot be larger than MB_LEN_MAX.

Library Functions

Following are the functions defined in the header stlib.h −

Sr.No. Function & Description
1 double atof(const char *str)

Converts the string pointed to, by the argument str to a floating-point number (type double).

2 int atoi(const char *str)

Converts the string pointed to, by the argument str to an integer (type int).

3 long int atol(const char *str)

Converts the string pointed to, by the argument str to a long integer (type long int).

4 double strtod(const char *str, char **endptr)

Converts the string pointed to, by the argument str to a floating-point number (type double).

5 long int strtol(const char *str, char **endptr, int base)

Converts the string pointed to, by the argument str to a long integer (type long int).

6 unsigned long int strtoul(const char *str, char **endptr, int base)

Converts the string pointed to, by the argument str to an unsigned long integer (type unsigned long int).

7 void *calloc(size_t nitems, size_t size)

Allocates the requested memory and returns a pointer to it.

8 void free(void *ptr

Deallocates the memory previously allocated by a call to calloc, malloc, or realloc.

9 void *malloc(size_t size)

Allocates the requested memory and returns a pointer to it.

10 void *realloc(void *ptr, size_t size)

Attempts to resize the memory block pointed to by ptr that was previously allocated with a call to malloc or calloc.

11 void abort(void)

Causes an abnormal program termination.

12 int atexit(void (*func)(void))

Causes the specified function func to be called when the program terminates normally.

13 void exit(int status)

Causes the program to terminate normally.

14 char *getenv(const char *name)

Searches for the environment string pointed to by name and returns the associated value to the string.

15 int system(const char *string)

The command specified by string is passed to the host environment to be executed by the command processor.

16 void *bsearch(const void *key, const void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *))

Performs a binary search.

17 void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*))

Sorts an array.

18 int abs(int x)

Returns the absolute value of x.

19 div_t div(int numer, int denom)

Divides numer (numerator) by denom (denominator).

20 long int labs(long int x)

Returns the absolute value of x.

21 ldiv_t ldiv(long int numer, long int denom)

Divides numer (numerator) by denom (denominator).

22 int rand(void)

Returns a pseudo-random number in the range of 0 to RAND_MAX.

23 void srand(unsigned int seed)

This function seeds the random number generator used by the function rand.

24 int mblen(const char *str, size_t n)

Returns the length of a multibyte character pointed to by the argument str.

25 size_t mbstowcs(schar_t *pwcs, const char *str, size_t n)

Converts the string of multibyte characters pointed to by the argument str to the array pointed to by pwcs.

26 int mbtowc(whcar_t *pwc, const char *str, size_t n)

Examines the multibyte character pointed to by the argument str.

27 size_t wcstombs(char *str, const wchar_t *pwcs, size_t n)

Converts the codes stored in the array pwcs to multibyte characters and stores them in the string str.

28 int wctomb(char *str, wchar_t wchar)

Examines the code which corresponds to a multibyte character given by the argument wchar.

The string.h header defines one variable type, one macro, and various functions for manipulating arrays of characters.

Library Variables

Following is the variable type defined in the header string.h −

Sr.No. Variable & Description
1

size_t

This is the unsigned integral type and is the result of the sizeof keyword.

Library Macros

Following is the macro defined in the header string.h −

Sr.No. Macro & Description
1

NULL

This macro is the value of a null pointer constant.

Library Functions

Following are the functions defined in the header string.h −

Sr.No. Function & Description
1 void *memchr(const void *str, int c, size_t n)

Searches for the first occurrence of the character c (an unsigned char) in the first n bytes of the string pointed to, by the argument str.

2 int memcmp(const void *str1, const void *str2, size_t n)

Compares the first n bytes of str1 and str2.

3 void *memcpy(void *dest, const void *src, size_t n)

Copies n characters from src to dest.

4 void *memmove(void *dest, const void *src, size_t n)

Another function to copy n characters from str2 to str1.

5 void *memset(void *str, int c, size_t n)

Copies the character c (an unsigned char) to the first n characters of the string pointed to, by the argument str.

6 char *strcat(char *dest, const char *src)

Appends the string pointed to, by src to the end of the string pointed to by dest.

7 char *strncat(char *dest, const char *src, size_t n)

Appends the string pointed to, by src to the end of the string pointed to, by dest up to n characters long.

8 char *strchr(const char *str, int c)

Searches for the first occurrence of the character c (an unsigned char) in the string pointed to, by the argument str.

9 int strcmp(const char *str1, const char *str2)

Compares the string pointed to, by str1 to the string pointed to by str2.

10 int strncmp(const char *str1, const char *str2, size_t n)

Compares at most the first n bytes of str1 and str2.

11 int strcoll(const char *str1, const char *str2)

Compares string str1 to str2. The result is dependent on the LC_COLLATE setting of the location.

12 char *strcpy(char *dest, const char *src)

Copies the string pointed to, by src to dest.

13 char *strncpy(char *dest, const char *src, size_t n)

Copies up to n characters from the string pointed to, by src to dest.

14 size_t strcspn(const char *str1, const char *str2)

Calculates the length of the initial segment of str1 which consists entirely of characters not in str2.

15 char *strerror(int errnum)

Searches an internal array for the error number errnum and returns a pointer to an error message string.

16 size_t strlen(const char *str)

Computes the length of the string str up to but not including the terminating null character.

17 char *strpbrk(const char *str1, const char *str2)

Finds the first character in the string str1 that matches any character specified in str2.

18 char *strrchr(const char *str, int c)

Searches for the last occurrence of the character c (an unsigned char) in the string pointed to by the argument str.

19 size_t strspn(const char *str1, const char *str2)

Calculates the length of the initial segment of str1 which consists entirely of characters in str2.

20 char *strstr(const char *haystack, const char *needle)

Finds the first occurrence of the entire string needle (not including the terminating null character) which appears in the string haystack.

21 char *strtok(char *str, const char *delim)

Breaks string str into a series of tokens separated by delim.

22 size_t strxfrm(char *dest, const char *src, size_t n)

Transforms the first n characters of the string src into current locale and places them in the string dest.

The time.h header defines four variable types, two macro and various functions for manipulating date and time.

Library Variables

Following are the variable types defined in the header time.h −

Sr.No. Variable & Description
1

size_t

This is the unsigned integral type and is the result of the sizeof keyword.

2

clock_t

This is a type suitable for storing the processor time.

3

time_t is

This is a type suitable for storing the calendar time.

4

struct tm

This is a structure used to hold the time and date.

tm 구조에는 다음과 같은 정의가 있습니다.

struct tm {
   int tm_sec;         /* seconds,  range 0 to 59          */
   int tm_min;         /* minutes, range 0 to 59           */
   int tm_hour;        /* hours, range 0 to 23             */
   int tm_mday;        /* day of the month, range 1 to 31  */
   int tm_mon;         /* month, range 0 to 11             */
   int tm_year;        /* The number of years since 1900   */
   int tm_wday;        /* day of the week, range 0 to 6    */
   int tm_yday;        /* day in the year, range 0 to 365  */
   int tm_isdst;       /* daylight saving time             */
};

라이브러리 매크로

다음은 헤더 time.h에 정의 된 매크로입니다-

Sr. 아니. 매크로 및 설명
1

NULL

이 매크로는 널 포인터 상수의 값입니다.

2

CLOCKS_PER_SEC

이 매크로는 초당 프로세서 클럭 수를 나타냅니다.

라이브러리 기능

다음은 헤더 time.h에 정의 된 기능입니다-

Sr. 아니. 기능 및 설명
1 char * asctime (const struct tm * timeptr)

timeptr 구조의 날짜와 시간을 나타내는 문자열에 대한 포인터를 리턴합니다.

2 clock_t 시계 (무효)

구현 정의 시대 (일반적으로 프로그램의 시작) 시작 이후 사용 된 프로세서 클록 시간을 반환합니다.

char * ctime (const time_t * 타이머)

타이머 인수에 따라 현지 시간을 나타내는 문자열을 반환합니다.

4 double difftime (time_t time1, time_t time2)

time1과 time2 (time1-time2) 사이의 초 차이를 반환합니다.

5 struct tm * gmtime (const time_t * timer)

타이머 값은 tm 구조로 나뉘며 그리니치 표준시 (GMT)라고도하는 협정 세계시 (UTC)로 표현됩니다.

6 struct tm * localtime (const time_t * timer)

타이머 값은 tm 구조로 나뉘어 현지 시간대로 표현됩니다.

7 time_t mktime (struct tm * timeptr)

timeptr이 가리키는 구조를 현지 시간대에 따라 time_t 값으로 변환합니다.

8 size_t strftime (char * str, size_t maxsize, const char * format, const struct tm * timeptr)

format에 정의되고 str에 저장된 형식화 규칙에 따라 구조 timeptr에 표시되는 시간을 형식화합니다.

9 time_t 시간 (time_t * 타이머)

현재 캘린더 시간을 계산하여 time_t 형식으로 인코딩합니다.