C Standard Library 简明教程

C Library - <stdlib.h>

stdlib.h 头定义了四种变量类型、几个宏和各种函数,用于执行通用函数。

Library Variables

以下是在头文件 stdlib.h 中定义的变量类型−

Sr.No.

Variable & Description

1

size_t 这是无符号整数类型,是 sizeof 关键字的结果。

2

wchar_t 这是大小为 wide 字符常量的整数类型。

3

div_t 这是 div 函数返回的结构。

4

ldiv_t 这是 ldiv 函数返回的结构。

Library Macros

以下是 stdlib.h 头中定义的宏 −

Sr.No.

Macro & Description

1

NULL 此宏是空指针常量的值。

2

EXIT_FAILURE 这是退出函数在失败时要返回的值。

3

EXIT_SUCCESS 这是退出函数在成功时要返回的值。

4

RAND_MAX 此宏是 rand 函数返回的最大值。

5

MB_CUR_MAX 此宏是多字节字符集中字节的最大数,不能大于 MB_LEN_MAX。

Library Functions

以下是头文件 stlib.h 中定义的函数 −

Sr.No.

Function & Description

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

链接:../c_standard_library/c_function_atexit.html[int atexit(void ( func)(void))]Causes the specified function *func 程序正常终止时调用。

13

void exit(int status) 导致程序正常终止。

14

char *getenv(const char *name) 搜索环境字符串 name 所指向的环境字符串,并将关联值返回给该字符串。

15

int system(const char *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 数组中的代码转换为多字节字符,并将它们存储在字符串中。

28

int wctomb(char *str, wchar_t wchar) 检查由参数 wchar 给出的多字节字符对应的代码。