- C 标准库
- C 库 - 主页
- C 库 - <assert.h>
- C 库 - <ctype.h>
- C 库 - <errno.h>
- C 库 - <float.h>
- C 库 - <limits.h>
- C 库 - <locale.h>
- C 库 - <math.h>
- C 库 - <setjmp.h>
- C 库 - <signal.h>
- C 库 - <stdarg.h>
- C 库 - <stddef.h>
- C 库 - <stdio.h>
- C 库 - <stdlib.h>
- C 库 - <string.h>
- C 库 - <time.h>
- C 标准库资源
- C 库 - 快速指南
- C 库 - 有用的资源
- C 库 - 讨论
C 标准库 - 快速指南
C 库 - <assert.h>
C 标准库的assert.h 头文件提供了一个名为assert 的宏,可用于验证程序所做的假设,并在该假设不成立时打印诊断消息。
定义的宏断言引用了另一个不属于 <assert.h> 的宏NDEBUG 。如果 NDEBUG 在源文件中定义为宏名称,则在包含 <assert.h> 的位置,断言宏定义如下 -
#define assert(ignore) ((void)0)
库宏
以下是头文件assert.h中定义的唯一函数 -
先生。 | 功能说明 |
---|---|
1 |
无效断言(int表达式)
这实际上是一个宏而不是函数,可用于在 C 程序中添加诊断。 |
C 库 - <ctype.h>
C 标准库的ctype.h头文件声明了几个对于测试和映射字符有用的函数。
所有函数都接受int作为参数,其值必须是 EOF 或可表示为无符号字符。
如果参数 c 满足所描述的条件,则所有函数返回非零 (true),否则返回零 (false)。
库函数
以下是头文件 ctype.h 中定义的函数 -
先生。 | 功能说明 |
---|---|
1 |
int isalnum(int c)
该函数检查传递的字符是否是字母数字。 |
2 |
int isalpha(int c)
该函数检查传递的字符是否是字母。 |
3 |
int iscntrl(int c)
该函数检查传递的字符是否是控制字符。 |
4 |
int isdigit(int c)
该函数检查传递的字符是否是十进制数字。 |
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)
该函数检查传递的字符是否是十六进制数字。 |
该库还包含两个接受并返回“int”的转换函数。
先生。 | 功能说明 |
---|---|
1 |
int tolower(int c)
该函数将大写字母转换为小写字母。 |
2 |
int toupper(int c)
该函数将小写字母转换为大写字母。 |
字符类
先生。 | 字符类别和描述 |
---|---|
1 |
数字 这是一组整数 { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }。 |
2 |
十六进制数字 这是 { 0 1 2 3 4 5 6 7 8 9 ABCDEF abcdef } 的集合。 |
3 |
小写字母 这是一组小写字母 { abcdefghijklmnopqrstu vwxyz }。 |
4 |
大写字母 这是一组大写字母 {ABCDEFGHIJKLMNOPQRSTU VWXYZ }。 |
5 |
信件 这是一组小写和大写字母。 |
6 |
字母数字字符 这是一组数字、小写字母和大写字母。 |
7 |
标点符号 这是一套!" # $ % & ' ( ) * + , - ./ : ; < = > ? @ [ \ ] ^ _ ` { | } ~ |
8 |
图形字符 这是一组字母数字字符和标点符号字符。 |
9 |
空格字符 这是一组制表符、换行符、垂直制表符、换页符、回车符和空格。 |
10 |
可打印字符 这是一组字母数字字符、标点符号字符和空格字符。 |
11 |
控制字符 在 ASCII 中,这些字符具有八进制代码 000 到 037 以及 177 (DEL)。 |
12 |
空白字符 这些是空格和制表符。 |
13 |
字母字符 这是一组小写字母和大写字母。 |
C 库 - <errno.h>
C 标准库的errno.h头文件定义了整型变量errno,该变量由系统调用和一些库函数在发生错误时设置,以指示出了什么问题。该宏扩展为 int 类型的可修改左值,因此它可以由程序读取和修改。
errno在程序启动时设置为零。标准 C 库的某些函数将其值修改为非零以表示某些类型的错误。您还可以在方便时修改其值或重置为零。
errno.h头文件还定义了指示不同错误代码的宏列表,这些宏列表将扩展为int类型的整数常量表达式。
库宏
以下是头文件 errno.h 中定义的宏 -
先生。 | 宏及描述 |
---|---|
1 |
外部 内部 错误号
这是系统调用和一些库函数设置的宏,在发生错误时指示出了什么问题。 |
2 |
EDOM 域错误
该宏表示域错误,如果输入参数位于定义数学函数且 errno 设置为 EDOM 的域之外,则会发生域错误。 |
3 |
ERANGE 范围错误
该宏表示范围错误,如果输入参数超出定义数学函数且 errno 设置为 ERANGE 的范围,则会发生范围错误。 |
C 库 - <float.h>
C 标准库的float.h头文件包含一组与浮点值相关的各种与平台相关的常量。这些常数是由 ANSI C 提出的。它们允许制作更多可移植的程序。在检查所有常量之前,最好了解浮点数由以下四个元素组成 -
先生。 | 组件及组件说明 |
---|---|
1 |
S 符号 (+/-) |
2 |
乙 指数表示的基数或基数,2 表示二进制,10 表示十进制,16 表示十六进制,依此类推... |
3 |
e 指数,最小值e min和最大值e max之间的整数。 |
4 |
p 精度,有效数中以 b 为基数的位数。 |
基于上述 4 个组成部分,浮点的值如下 -
floating-point = ( S ) p x be or floating-point = (+/-) precision x baseexponent
库宏
以下值是特定于实现的,并使用 #define 指令定义,但这些值不得低于此处给出的值。请注意,在所有情况下,FLT 指的是float类型,DBL 指的是double 类型,LDBL 指的是long double 类型。
先生。 | 宏及描述 |
---|---|
1 | FLT_ROUNDS 定义浮点加法的舍入模式,它可以具有以下任何值 -
|
2 | FLT_RADIX 2 这定义了指数的基数表示。以 2 为基数是二进制,以 10 为基数是正常的十进制表示形式,以 16 为基数是十六进制。 |
3 | 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_最大1E+37 DBL_最大1E+37 LDBL_最大 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
C 库 - <limits.h>
limit.h标头确定各种变量类型的各种属性。此头文件中定义的宏限制了各种变量类型(如 char、int 和 long)的值。
这些限制指定变量不能存储超出这些限制的任何值,例如无符号字符最多可以存储 255 的最大值。
库宏
以下值是特定于实现的,并使用 #define 指令定义,但这些值不得低于此处给出的值。
宏 | 价值 | 描述 |
---|---|---|
字符位 | 8 | 定义一个字节中的位数。 |
SCHAR_MIN | -128 | 定义有符号字符的最小值。 |
SCHAR_MAX | +127 | 定义有符号字符的最大值。 |
UCHAR_MAX | 255 | 定义无符号字符的最大值。 |
CHAR_MIN | -128 | 定义 char 类型的最小值,如果 char 表示负值,则其值将等于 SCHAR_MIN,否则为零。 |
字符最大值 | +127 | 定义 char 类型的值,如果 char 表示负值,则其值将等于 SCHAR_MAX,否则为 UCHAR_MAX。 |
MB_LEN_MAX | 16 | 定义多字节字符中的最大字节数。 |
SHRT_MIN | -32768 | 定义短整型的最小值。 |
SHRT_MAX | +32767 | 定义短整型的最大值。 |
USHRT_MAX | 65535 | 定义无符号短整型的最大值。 |
INT_MIN | -2147483648 | 定义 int 的最小值。 |
INT_MAX | +2147483647 | 定义 int 的最大值。 |
UINT_MAX | 4294967295 | 定义无符号整型的最大值。 |
LONG_MIN | -9223372036854775808 | 定义 long int 的最小值。 |
长_最大 | +9223372036854775807 | 定义 long int 的最大值。 |
ULONG_MAX | 18446744073709551615 | 定义 unsigned long int 的最大值。 |
例子
以下示例显示了limit.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 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
C 库 - <locale.h>
locale.h标头定义了位置特定的设置,例如日期格式和货币符号。您会发现定义了几个宏以及一个重要的结构struct lconv和下面列出的两个重要函数。
库宏
以下是标头中定义的宏,这些宏将在下面列出的两个函数中使用 -
先生。 | 宏及描述 |
---|---|
1 |
LC_ALL 设置一切。 |
2 |
LC_COLLATE 影响 strcoll 和 strxfrm 函数。 |
3 |
LC_CTYPE 影响所有角色功能。 |
4 |
LC_MONETARY 影响 localeconv 函数提供的货币信息。 |
5 |
LC_NUMERIC 影响小数点格式和 localeconv 函数提供的信息。 |
6 |
LC_TIME 影响 strftime 函数。 |
库函数
以下是头文件 locale.h 中定义的函数 -
先生。 | 功能说明 |
---|---|
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
以下是每个字段的描述 -
先生。 | 字段和描述 |
---|---|
1 |
小数点 用于非货币值的小数点字符。 |
2 |
千_sep 用于非货币值的千位分隔符。 |
3 |
分组 一个字符串,指示非货币数量中每组数字的大小。每个字符代表一个整数值,它指定当前组中的位数。值 0 表示先前的值将用于其余组。 |
4 |
int_curr_symbol 它是所使用的国际货币符号的字符串。前三个字符是 ISO 4217:1987 指定的字符,第四个字符是将货币符号与货币数量分开的字符。 |
5 |
货币符号 用于货币的当地符号。 |
6 |
mon_decimal_point 用于货币值的小数点字符。 |
7 |
mon_thousands_sep 用于货币值的千位分组字符。 |
8 |
mon_分组 一个字符串,其元素定义货币值中数字分组的大小。每个字符代表一个整数值,指定当前组中的位数。值 0 表示先前的值将用于其余组。 |
9 |
正号 用于表示正货币值的字符。 |
10 |
负号 用于负货币值的字符。 |
11 |
int_frac_digits 国际货币价值中小数点后显示的位数。 |
12 |
分形数字 货币值小数点后显示的位数。 |
13 |
p_cs_在前 如果等于 1,则currency_symbol 出现在正货币值之前。如果等于 0,则currency_symbol 出现在正货币值之后。 |
14 |
p_sep_by_space 如果等于 1,则currency_symbol 与正货币值之间用空格分隔。如果等于 0,则currency_symbol 和正货币值之间没有空格。 |
15 |
n_cs_在前 如果等于 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_符号_位置 表示负货币值中的 negative_sign 的位置。 |
以下值用于p_sign_posn和n_sign_posn -
价值 | 描述 |
---|---|
0 | 括号封装了值和货币符号。 |
1 | 符号位于值和货币符号之前。 |
2 | 符号位于值和货币符号之后。 |
3 | 符号紧接在值和货币符号之前。 |
4 | 符号紧随值和货币符号之后。 |
C 库 - <math.h>
math.h标头定义了各种数学函数和一个宏。该库中的所有可用函数均采用double作为参数并返回double作为结果。
库宏
该库中仅定义了一个宏 -
先生。 | 宏及描述 |
---|---|
1 |
HUGE_VAL 当函数的结果可能无法表示为浮点数时,使用此宏。如果正确结果的幅度太大而无法表示,则该函数将 errno 设置为 ERANGE 以指示范围错误,并返回由宏 HUGE_VAL 或其否定 (- HUGE_VAL) 命名的特定的非常大的值。 如果结果的幅度太小,则返回零值。在这种情况下,errno 可能会也可能不会设置为 ERANGE。 |
库函数
以下是头文件 math.h 中定义的函数 -
先生。 | 功能说明 |
---|---|
1 |
双 acos(双 x)
返回 x 的反余弦值(以弧度表示)。 |
2 |
双asin(双x)
返回 x 的反正弦值(以弧度表示)。 |
3 |
双阿坦(双x)
返回 x 的反正切值(以弧度表示)。 |
4 |
双 atan2(双 y, 双 x)
根据两个值的符号返回以弧度为单位的 y/x 反正切,以确定正确的象限。 |
5 |
双 cos(双 x)
返回弧度角 x 的余弦。 |
6 |
双 cosh(双 x)
返回 x 的双曲余弦。 |
7 |
双罪(双x)
返回弧度角 x 的正弦值。 |
8 |
双正弦(双x)
返回 x 的双曲正弦值。 |
9 |
双 tanh(双 x)
返回 x 的双曲正切。 |
10 |
双倍 exp(双 x)
返回e的x 次方值。 |
11 |
double frexp(double x, int *指数)
返回值是尾数,指数指向的整数是指数。结果值为 x = 尾数 * 2 ^ 指数。 |
12 |
double ldexp(double x, int 指数)
返回x乘以 2 的指数次方。 |
13 |
双对数(双 x)
返回x的自然对数(以 e 为底的对数)。 |
14 |
双 log10(双 x)
返回x的常用对数(以 10 为底的对数)。 |
15 |
双 modf(双 x, 双 * 整数)
返回值是小数部分(小数点后的部分),并将整数部分设置为integer。 |
16 |
双战俘(双 x,双 y)
返回 x 的y次方。 |
17 号 |
双开方(双 x)
返回x的平方根。 |
18 |
双天花板(双x)
返回大于或等于x 的最小整数值。 |
19 |
双晶圆厂(双x)
返回x的绝对值。 |
20 |
双层(双x)
返回小于或等于x 的最大整数值。 |
21 |
双 fmod(双 x, 双 y)
返回 x 除以y的余数。 |
C 库 - <setjmp.h>
setjmp.h标头定义了宏setjmp()、一个函数longjmp()和一个变量类型jmp_buf ,用于绕过正常的函数调用和返回规则。
库变量
以下是头文件 setjmp.h 中定义的变量类型 -
先生。 | 变量和描述 |
---|---|
1 |
jmp_缓冲区 这是一个数组类型,用于保存宏setjmp()和函数longjmp()的信息。 |
库宏
该库中仅定义了一个宏 -
先生。 | 宏及描述 |
---|---|
1 |
int setjmp(jmp_buf环境)
该宏将当前环境保存到变量环境中,供函数longjmp()稍后使用。如果该宏直接从宏调用返回,则返回零,但如果从longjmp()函数调用返回,则返回非零值。 |
库函数
以下是头文件 setjmp.h 中定义的唯一一个函数 -
先生。 | 功能说明 |
---|---|
1 |
void longjmp(jmp_buf环境,int值)
该函数使用相应的jmp_buf参数恢复在同一程序调用中最近一次调用setjmp()宏所保存的环境。 |
C 库 - <signal.h>
signal.h标头定义了一个变量类型sig_atomic_t、两个函数调用和几个宏来处理程序执行期间报告的不同信号。
库变量
以下是标头 signal.h 中定义的变量类型 -
先生。 | 变量和描述 |
---|---|
1 |
sig_atomic_t 这是int类型,用作信号处理程序中的变量。这是对象的完整类型,即使存在异步信号,也可以将其作为Atomics实体进行访问。 |
库宏
以下是头文件 signal.h 中定义的宏,这些宏将在下面列出的两个函数中使用。SIG_宏与信号函数一起使用来定义信号函数。
先生。 | 宏及描述 |
---|---|
1 |
SIG_DFL 默认信号处理程序。 |
2 |
SIG_ERR 代表信号错误。 |
3 |
SIG_IGN 信号忽略。 |
SIG宏用于表示以下条件下的信号编号-
先生。 | 宏及描述 |
---|---|
1 |
SIGABRT 程序异常终止。 |
2 |
SIGFPE 浮点错误,例如被零除。 |
3 |
西吉尔 非法操作。 |
4 |
信号情报 中断信号,例如 ctrl-C。 |
5 |
信号发生器 对存储的无效访问,例如段冲突。 |
6 |
信号术语 终止请求。 |
库函数
以下是标头 signal.h 中定义的函数 -
先生。 | 功能说明 |
---|---|
1 |
void (*signal(int sig, void (*func)(int)))(int)
该函数设置一个处理信号的函数,即信号处理程序。 |
2 |
int 加注(int sig)
该函数导致信号sig生成。sig 参数与 SIG 宏兼容。 |
C 库 - <stdarg.h>
stdarg.h标头定义了一个变量类型va_list和三个宏,当参数数量未知(即参数数量可变)时,可以使用这些宏来获取函数中的参数。
可变参数的函数在参数列表末尾使用省略号 (,...) 进行定义。
库变量
以下是标头 stdarg.h 中定义的变量类型 -
先生。 | 变量和描述 |
---|---|
1 |
va_列表 该类型适合保存三个宏va_start()、va_arg()和va_end()所需的信息。 |
库宏
以下是头文件 stdarg.h 中定义的宏 -
先生。 | 宏及描述 |
---|---|
1 |
无效va_start(va_list ap,last_arg)
该宏初始化要与va_arg和va_end宏一起使用的ap变量。last_arg是传递给函数的最后一个已知固定参数,即省略号之前的参数。 |
2 |
类型 va_arg(va_list ap, 类型)
该宏检索类型为type的函数的参数列表中的下一个参数。 |
3 |
无效 va_end(va_list ap)
该宏允许使用va_start宏的具有可变参数的函数返回。如果在从函数返回之前未调用va_end,则结果未定义。 |
C 库 - <stddef.h>
stddef.h标头定义了各种变量类型和宏。其中许多定义也出现在其他标头中。
库变量
以下是头文件 stddef.h 中定义的变量类型 -
先生。 | 变量和描述 |
---|---|
1 |
ptrdiff_t 这是有符号整型,是两个指针相减的结果。 |
2 |
尺寸_t 这是无符号整型,是sizeof关键字的结果。 |
3 |
wchar_t 这是宽字符常量大小的整型。 |
库宏
以下是头文件 stddef.h 中定义的宏 -
先生。 | 宏及描述 |
---|---|
1 |
无效的
该宏是空指针常量的值。 |
2 |
offsetof(类型,成员指示符)
这会产生一个 size_t 类型的常量整数,它是结构成员相对于结构开头的偏移量(以字节为单位)。成员由member-designator给出,结构名称由type给出。 |
C 库 - <stdio.h>
stdio.h标头定义了三个变量类型、几个宏以及用于执行输入和输出的各种函数。
库变量
以下是标头 stdio.h 中定义的变量类型 -
先生。 | 变量和描述 |
---|---|
1 |
尺寸_t 这是无符号整型,是sizeof关键字的结果。 |
2 |
文件 这是适合存储文件流信息的对象类型。 |
3 |
fpos_t 这是一种适合存储文件中任何位置的对象类型。 |
库宏
以下是头文件 stdio.h 中定义的宏 -
先生。 | 宏及描述 |
---|---|
1 |
无效的 该宏是空指针常量的值。 |
2 |
_IOFBF、_IOLBF和_IONBF 这些宏扩展为具有不同值的整数常量表达式,适合用作setvbuf函数的第三个参数。 |
3 |
BUFSIZ 该宏是一个整数,表示setbuf函数使用的缓冲区的大小。 |
4 |
EOF 该宏是一个负整数,表示已到达文件末尾。 |
5 |
FOPEN_MAX 该宏是一个整数,代表系统能保证同时打开的最大文件数。 |
6 |
文件名_最大 该宏是一个整数,表示适合保存最长可能文件名的 char 数组的最长长度。如果实现没有施加限制,则该值应该是建议的最大值。 |
7 |
L_tmpnam 该宏是一个整数,表示适合保存tmpnam函数创建的最长可能临时文件名的 char 数组的最长长度。 |
8 |
SEEK_CUR、SEEK_END和SEEK_SET 这些宏在fseek函数中用于定位文件中的不同位置。 |
9 |
TMP_MAX 该宏是函数tmpnam可以生成的唯一文件名的最大数量。 |
10 |
标准错误、标准输入和标准输出 这些宏是指向 FILE 类型的指针,这些类型对应于标准错误、标准输入和标准输出流。 |
库函数
以下是头文件 stdio.h 中定义的函数 -
C 库 - <stdlib.h>
stdlib.h标头定义了四个变量类型、几个宏以及用于执行通用功能的各种函数。
库变量
以下是头文件 stdlib.h 中定义的变量类型 -
先生。 | 变量和描述 |
---|---|
1 |
尺寸_t 这是无符号整型,是sizeof关键字的结果。 |
2 |
wchar_t 这是一个宽字符常量大小的整数类型。 |
3 |
div_t 这是div函数返回的结构。 |
4 |
LDIV_T 这是ldiv函数返回的结构。 |
库宏
以下是头文件 stdlib.h 中定义的宏 -
先生。 | 宏及描述 |
---|---|
1 |
无效的 该宏是空指针常量的值。 |
2 |
退出失败 这是退出函数在失败时返回的值。 |
3 |
退出_成功 这是退出函数成功时返回的值。 |
4 |
兰德_最大值 该宏是rand函数返回的最大值。 |
5 |
MB_CUR_MAX 该宏是多字节字符集中的最大字节数,不能大于MB_LEN_MAX。 |
库函数
以下是头文件 stlib.h 中定义的函数 -
C 库 - <string.h>
string.h标头定义了一种变量类型、一个宏以及用于操作字符数组的各种函数。
库变量
以下是标头 string.h 中定义的变量类型 -
先生。 | 变量和描述 |
---|---|
1 |
尺寸_t 这是无符号整型,是sizeof关键字的结果。 |
库宏
以下是头文件 string.h 中定义的宏 -
先生。 | 宏及描述 |
---|---|
1 |
无效的 该宏是空指针常量的值。 |
库函数
以下是头文件 string.h 中定义的函数 -
先生。 | 功能说明 |
---|---|
1 |
void *memchr(const void *str, int c, size_t n)
在参数str所指向的字符串的前 n 个字节中搜索字符 c (无符号字符)的第一次出现。 |
2 |
int memcmp(const void *str1, const void *str2, size_t n)
比较str1和str2的前 n 个字节。 |
3 |
void *memcpy(void *dest, const void *src, size_t n)
将 n 个字符从 src 复制到dest。 |
4 |
void *memmove(void *dest, const void *src, size_t n)
另一个将 n 个字符从str2复制到str1 的函数。 |
5 |
void *memset(void *str, int c, size_t n)
将字符 c (无符号字符)复制到参数str所指向的字符串的前 n 个字符。 |
6 |
char *strcat(char *dest, const char *src)
将src指向的字符串附加到dest指向的字符串的末尾。 |