C 库 - <stdlib.h>
stdlib.h 头文件定义了四种变量类型、几个宏以及用于执行常规函数的各种函数。
库变量
以下是头文件 stdlib.h 中定义的变量类型:
序号 |
变量 & 描述 |
1 |
size_t
这是一个无符号整型,是 sizeof 关键字的结果。
|
2 |
wchar_t
这是一个整数类型,大小与一个 宽 字符常量相同。
|
3 |
div_t
这是 div 函数返回的结构。
|
4 |
ldiv_t
这是 ldiv 函数返回的结构。
|
库宏
以下是头文件 stdlib.h 中定义的宏:
序号 |
宏 & 描述 |
1 |
NULL
此宏是空指针常量的值。 |
2 |
EXIT_FAILURE
这是 exit 函数在失败情况下返回的值。
|
3 |
EXIT_SUCCESS
这是 exit 函数在成功情况下返回的值。
|
4 |
RAND_MAX
此宏是 rand 函数返回的最大值。
|
5 |
MB_CUR_MAX
此宏是多字节字符集中字节的最大数量,不能大于 MB_LEN_MAX。
|
库函数
以下是头文件 stlib.h 中定义的函数:
序号 |
函数 & 描述 |
1 |
double atof(const char *str)
将参数 str 指向的字符串转换为浮点数(double 类型)。
|
2 |
int atoi(const char *str)
将参数 str 指向的字符串转换为整数(int 类型)。
|
3 |
long int atol(const char *str)
将参数 str 指向的字符串转换为长整数(long int 类型)。
|
4 |
double strtod(const char *str, char **endptr)
将参数 str 指向的字符串转换为浮点数(double 类型)。
|
5 |
long int strtol(const char *str, char **endptr, int base)
将参数 str 指向的字符串转换为长整数(long int 类型)。
|
6 |
unsigned long int strtoul(const char *str, char **endptr, int base)
将参数 str 指向的字符串转换为无符号长整数(unsigned long int 类型)。
|
7 |
void *calloc(size_t nitems, size_t size)
分配请求的内存并返回指向它的指针。
|
8 |
void free(void *ptr
释放之前通过调用 calloc、malloc 或 realloc 分配的内存。
|
9 |
void *malloc(size_t size)
分配请求的内存并返回指向它的指针。
|
10 |
void *realloc(void *ptr, size_t size)
尝试调整之前使用 malloc 或 calloc 调用分配的、由 ptr 指向的内存块的大小。
|
11 |
void abort(void)
导致程序异常终止。
|
12 |
int atexit(void (*func)(void))
导致程序正常终止时调用指定的函数 func。
|
13 |
void exit(int status)
导致程序正常终止。
|
14 |
char *getenv(const char *name)
搜索由 name 指向的环境字符串,并将关联的值返回到字符串。
|
15 |
int system(const char *string)
将由 string 指定的命令传递给主机环境,由命令处理器执行。
|
16 |
void *bsearch(const void *key, const void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *))
执行二分查找。
|
17 |
void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*))
对数组进行排序。
|
18 |
int abs(int x)
返回 x 的绝对值。
|
19 |
div_t div(int numer, int denom)
将 numer(分子)除以 denom(分母)。
|
20 |
long int labs(long int x)
返回 x 的绝对值。
|
21 |
ldiv_t ldiv(long int numer, long int denom)
将 numer(分子)除以 denom(分母)。
|
22 |
int rand(void)
返回 0 到 RAND_MAX 范围内的伪随机数。
|
23 |
void srand(unsigned int seed)
此函数为函数 rand 使用的随机数生成器设置种子。
|
24 |
int mblen(const char *str, size_t n)
返回参数 str 指向的多字节字符的长度。
|
25 |
size_t mbstowcs(schar_t *pwcs, const char *str, size_t n)
将参数 str 指向的多字节字符字符串转换为 pwcs 指向的数组。
|
26 |
int mbtowc(whcar_t *pwc, const char *str, size_t n)
检查参数 str 指向的多字节字符。
|
27 |
size_t wcstombs(char *str, const wchar_t *pwcs, size_t n)
将存储在数组 pwcs 中的代码转换为多字节字符,并将它们存储在字符串 str 中。
|
28 |
int wctomb(char *str, wchar_t wchar)
检查与参数 wchar 给出的多字节字符对应的代码。 |