标准库函数_3
errno.h
errno.h
头文件定义了一系列表示不同错误代码的宏,这些宏应扩展为类型为 int
的整数常量表达式。
库宏
宏 | 说明 |
---|---|
extern int errno | 通过系统调用设置的宏,在错误事件中的某些库函数表明了什么发生了错误。 |
EDOM Domain Error | 表示一个域错误,它在输入参数超出数学函数定义的域时发生,errno 被设置为 EDOM。 |
ERANGE Range Error | 表示一个范围错误,它在输入参数超出数学函数定义的范围时发生,errno 被设置为 ERANGE。 |
limits.h
库宏
下面的值是特定实现的,且是通过 #define 指令来定义的,这些值都不得低于下边所给出的值。
宏 | 值 | 说明 |
---|---|---|
CHAR_BIT | 8 | 定义一个字节的比特数。 |
SCHAR_MIN | -128 | 定义一个有符号字符的最小值。 |
SCHAR_MAX | 127 | 定义一个有符号字符的最大值。 |
UCHAR_MAX | 255 | 定义一个无符号字符的最大值。 |
CHAR_MIN | 0 | 定义类型 char 的最小值,如果 char 表示负值,则它的值等于 SCHAR_MIN,否则等于 0。 |
CHAR_MAX | 127 | 定义类型 char 的最大值,如果 char 表示负值,则它的值等于 SCHAR_MAX,否则等于 UCHAR_MAX。 |
MB_LEN_MAX | 1 | 定义多字节字符中的最大字节数。 |
SHRT_MIN | -32768 | 定义一个短整型的最小值。 |
SHRT_MAX | +32767 | 定义一个短整型的最大值。 |
USHRT_MAX | 65535 | 定义一个无符号短整型的最大值。 |
INT_MIN | -32768 | 定义一个整型的最小值。 |
INT_MAX | +32767 | 定义一个整型的最大值。 |
UINT_MAX | 65535 | 定义一个无符号整型的最大值。 |
LONG_MIN | -2147483648 | 定义一个长整型的最小值。 |
LONG_MAX | +2147483647 | 定义一个长整型的最大值。 |
ULONG_MAX | 4294967295 | 定义一个无符号长整型的最大值。 |
float.h
库宏
下面的值是特定实现的,且是通过 #define
指令来定义的,这些值都不得低于下边所给出的值。请注意,所有的实例 FLT
是指类型 float
,DBL
是指类型 double
,LDBL
是指类型 long double
。
宏 | 说明 |
---|---|
FLT_ROUNDS | 定义浮点加法的舍入模式,它可以是下列任何一个值: -1 - 无法确定 0 - 趋向于零 1 - 去最近的值 2 - 趋向于正无穷 3 - 趋向于负无穷 |
FLT_RADIX 2 | 这个宏定义了指数表示的基数。基数 2 表示二进制,基数 10 表示十进制,基数 16 表示十六进制。 |
FLT_MANT_DIG DBL_MANT_DIG LDBL_MANT_DIG |
这些宏定义了 FLT_RADIX 基数中的位数。 |
FLT_DIG 6 DBL_DIG 10 LDBL_DIG 10 |
这些宏定义了舍入后不会改变表示的十进制数字的最大值(基数 10)。 |
FLT_MIN_EXP DBL_MIN_EXP LDBL_MIN_EXP |
这些宏定义了基数为 FLT_RADIX 时的指数的最小负整数值。 |
FLT_MIN_10_EXP -37 DBL_MIN_10_EXP -37 LDBL_MIN_10_EXP -37 |
这些宏定义了基数为 10 时的指数的最小负整数值。 |
FLT_MAX_EXP DBL_MAX_EXP LDBL_MAX_EXP |
这些宏定义了基数为 FLT_RADIX 时的指数的最大整数值。 |
FLT_MAX_10_EXP +37 DBL_MAX_10_EXP +37 LDBL_MAX_10_EXP +37 |
这些宏定义了基数为 10 时的指数的最大整数值。 |
FLT_MAX 1E+37 DBL_MAX 1E+37 LDBL_MAX 1E+37 |
这些宏定义最大的有限浮点值。 |
FLT_EPSILON 1E-5 DBL_EPSILON 1E-9 LDBL_EPSILON 1E-9 |
这些宏定义了可表示的最小有效数字。 |
FLT_MIN 1E-37 DBL_MIN 1E-37 LDBL_MIN 1E-37 |
这些宏定义了最小的浮点值。 |
stdarg.h
库变量
变量 | 说明 |
---|---|
va_list | 这是一个适用于 va_start()、va_arg() 和 va_end() 这三个宏存储信息的类型。 |
库宏
宏 | 说明 |
---|---|
void va_start(va_list ap, last_arg) | 这个宏初始化 ap 变量,它与 va_arg 和 va_end 宏是一起使用的。last_arg 是最后一个传递给函数的已知的固定参数,即省略号之前的参数。 |
type va_arg(va_list ap, type) | 这个宏检索函数参数列表中类型为 type 的下一个参数。 |
void va_end(va_list ap) | 这个宏允许使用了 va_start 宏的带有可变参数的函数返回。如果在从函数返回之前没有调用 va_end,则结果为未定义。 |
stddef.h
库变量
变量 | 说明 |
---|---|
ptrdiff_t | 有符号整数类型,它是两个指针相减的结果。 |
size_t | 无符号整数类型,它是 sizeof 关键字的结果。 |
wchar_t | 是一个宽字符常量大小的整数类型。 |
库宏
宏 | 说明 |
---|---|
NULL | 是一个空指针常量的值。 |
offsetof(type, member-designator) | 生成一个类型为 size_t 的整型常量,它是一个结构成员相对于结构开头的字节偏移量。成员是由 member-designator 给定的,结构的名称是在 type 中给定的。 |