fbpx
维基百科

stdlib.h

stdlib.hC标准函数库头文件,声明了数值与字符串转换函数, 伪随机数生成函数, 动态内存分配函数, 进程控制函数等公共函数。 C++程序应调用等价的cstdlib头文件.

常量

stdlib.h中定义的常量:

名字 描述
NULL 一般定义为0, 或0L, 或(void*)0 表示空指针常量的巨集; 换句话说,一个常量用来表示一个总是指向无效的内存地址的指针值。
EXIT_FAILURE 一个非0 用来指示程序失败的结束,一般用于exit().
EXIT_SUCCESS 0 用来指示程序成功的结束,一般用于exit()..
RAND_MAX >= 32767 函数rand()所能返回的最大的值.
MB_CUR_MAX 当前locale中多字节字符的最大字节数目

数据类型

stdlib.h中定义的数据类型

名字 描述
size_t 算子sizeof返回结果的数据类型,实际上是无符号整型.
div_tldiv_tlldiv_t 函数div, ldiv, lldiv的返回结果的数据类型,实际上是包含两个整数的结构类型.

函数

stdlib.h中声明的库函数可分为六类:类型转换、伪随机数、动态内存分配与回收管理、进程控制、搜索及排序、简单数学。

名字 描述
类型转换
atof 字符串转换为双精度浮点数。相当于strtod(s, (char**)NULL).
atoi 把字符串转换为整型. 相当于(int)strtol(s, (char**)NULL, 10).
atol 把字符串转换为长整型. Equivalente a strtol(s, (char**)NULL, 10).
atoll 把字符串转换为长长整型. Equivalente a strtol(s, (char**)NULL, 10). 这是C99新增加的库函数。
strtod 把字符串转换为双精度浮点数,检查结果是否溢出,并返回字符串不能转换部分的地址.
strtof 把字符串转换为单精度浮点数,检查结果是否溢出,并返回字符串不能转换部分的地址.
strtold 把字符串转换为长双精度浮点数,检查结果是否溢出,并返回字符串不能转换部分的地址.
strtol 把字符串转换为长整型,检查结果是否溢出,并返回字符串不能转换部分的地址.
strtoll 把字符串转换为long long int,检查结果是否溢出,并返回字符串不能转换部分的地址.
strtoul 把字符串转换为无符号长整形,检查结果是否溢出,并返回字符串不能转换部分的地址.
strtoull 把字符串转换为unsigned long long int,检查结果是否溢出,并返回字符串不能转换部分的地址.
伪随机数序列生成
rand 返回在0到RAND_MAX之间的伪随机数. 不接受参数作为随机数种子,因此产生的伪随机数列相同,有利于程序调试。
srand 初始化rand()接受无符号整型参数作为伪随机数种子.如果种子相同,伪随机数列也相同。
内存的分配与释放
aligned_alloc 边界对齐的动态内存分配.
calloc 数组的动态内存分配,且初始化为全零
malloc 动态内存分配,其内容不初始化
realloc 释放老的动态内存块,按照给出的尺寸分配新的动态内存块,老的内存块的内容尽量复制到新的内存块
free 系统释放动态分配的内存. 如果是空指针,则无动作发生;如果指针所指不是动态分配的内存块或者是已释放的内存块,则行为是未定义的。
进程控制/与运行环境的沟通
abort 导致程序非正常的结束,各种流缓冲区与临时文件直接放弃。实际上抛出raise(SIGABRT),缺省的信号处理行为是使用退出代码3执行终止(terminate)操作。如果SIGABRT被捕捉且信号处理程序不返回,则程序将不终止.
atexit 登记一个函数,当程序使用exit正常退出时被登记的函数自动被调用.
exit 程序正常终止。首先atexit()登记的函数按照登记的逆序被调用;如果多次调用atexit登记了多个函数,按照登记的逆序调用这些函数。如果一个函数被登记了多次,则程序正常退出时该函数也将被调用多次。然后所有缓冲区中的数据被写回(flushed);所有打开着的流被关闭;tmpfile函数创建的文件被删除。最后,控制权返回给调用环境,返回数值表示程序返回时的状态,0表示EXIT_SUCCESS, 1表示EXIT_FAILURE.
at_quick_exit 登记一个函数,当程序使用quick_exit正常退出时被登记的函数自动被调用.
_Exit 程序正常终止, 但atexit(), at_quick_exit(), signal()登记的函数不被调用; 打开的流、文件是否被关闭,由编译器的实现者决定
getenv 获得某一个环境变量的字符串值,如果该环境变量不存在,返回NULL.
quick_exit 程序正常终止, 但atexit(), 登记的函数不被调用; at_quick_exit()登记的函数按登记顺序的逆序被调用。
system 把参数作为外部环境的命令执行。 如果参数为空,则判断外部环境是否有命令解释器。
搜索与排序
bsearch 折半搜索.
qsort 快速排序.
整数算术
abs, labs, llabs 计算整数的绝对值.
div, ldiv, lldiv 计算整数除法的商与余数.
多字节字符/宽字符转换
mblen 计算多字节字符的长度并确定是否为有效字符 .
mbtowc 多字节字符转换为宽字符.
wctomb 宽字符转换为多字节字符.
多字节字符串/宽字符串转换
mbstowcs 多字节字符串转换为宽字符串.
wcstombs 宽字符串转换为多字节字符串.

stdlib, 是c标准函数库的头文件, 声明了数值与字符串转换函数, 伪随机数生成函数, 动态内存分配函数, 进程控制函数等公共函数, 程序应调用等价的cstdlib头文件, 常量, 编辑中定义的常量, 名字, 描述, href, null, html, class, disambig, title, null, null, 一般定义为0, 或0l, void, 表示空指针常量的巨集, 换句话说, 一个常量用来表示一个总是指向无效的内存地址的指针值, exit, failure, 一个非0值, 用来指示程序失败的. stdlib h是C标准函数库的头文件 声明了数值与字符串转换函数 伪随机数生成函数 动态内存分配函数 进程控制函数等公共函数 C 程序应调用等价的cstdlib头文件 常量 编辑stdlib h中定义的常量 名字 值 描述 a href NULL html class mw disambig title NULL NULL a 一般定义为0 或0L 或 void 0 表示空指针常量的巨集 换句话说 一个常量用来表示一个总是指向无效的内存地址的指针值 EXIT FAILURE 一个非0值 用来指示程序失败的结束 一般用于exit EXIT SUCCESS 0 用来指示程序成功的结束 一般用于exit RAND MAX gt 32767 函数rand 所能返回的最大的值 MB CUR MAX 当前locale中多字节字符的最大字节数目数据类型 编辑stdlib h中定义的数据类型 名字 描述size t 算子 a href Sizeof html title Sizeof sizeof a 返回结果的数据类型 实际上是无符号整型 div t ldiv t lldiv t 函数div ldiv lldiv的返回结果的数据类型 实际上是包含两个整数的结构类型 函数 编辑stdlib h中声明的库函数可分为六类 类型转换 伪随机数 动态内存分配与回收管理 进程控制 搜索及排序 简单数学 名字 描述类型转换atof 把字符串转换为双精度浮点数 相当于strtod s char NULL atoi 把字符串转换为整型 相当于 int strtol s char NULL 10 atol 把字符串转换为长整型 Equivalente a strtol s char NULL 10 atoll 把字符串转换为长长整型 Equivalente a strtol s char NULL 10 这是C99新增加的库函数 strtod 把字符串转换为双精度浮点数 检查结果是否溢出 并返回字符串不能转换部分的地址 strtof 把字符串转换为单精度浮点数 检查结果是否溢出 并返回字符串不能转换部分的地址 strtold 把字符串转换为长双精度浮点数 检查结果是否溢出 并返回字符串不能转换部分的地址 strtol 把字符串转换为长整型 检查结果是否溢出 并返回字符串不能转换部分的地址 strtoll 把字符串转换为long long int 检查结果是否溢出 并返回字符串不能转换部分的地址 strtoul 把字符串转换为无符号长整形 检查结果是否溢出 并返回字符串不能转换部分的地址 strtoull 把字符串转换为unsigned long long int 检查结果是否溢出 并返回字符串不能转换部分的地址 伪随机数序列生成rand 返回在0到RAND MAX之间的伪随机数 不接受参数作为随机数种子 因此产生的伪随机数列相同 有利于程序调试 srand 初始化rand 接受无符号整型参数作为伪随机数种子 如果种子相同 伪随机数列也相同 内存的分配与释放aligned alloc 边界对齐的动态内存分配 calloc 数组的动态内存分配 且初始化为全零malloc 动态内存分配 其内容不初始化realloc 释放老的动态内存块 按照给出的尺寸分配新的动态内存块 老的内存块的内容尽量复制到新的内存块free 系统释放动态分配的内存 如果是空指针 则无动作发生 如果指针所指不是动态分配的内存块或者是已释放的内存块 则行为是未定义的 进程控制 与运行环境的沟通abort 导致程序非正常的结束 各种流缓冲区与临时文件直接放弃 实际上抛出raise SIGABRT 缺省的信号处理行为是使用退出代码3执行终止 terminate 操作 如果SIGABRT被捕捉且信号处理程序不返回 则程序将不终止 atexit 登记一个函数 当程序使用exit正常退出时被登记的函数自动被调用 exit 程序正常终止 首先atexit 登记的函数按照登记的逆序被调用 如果多次调用atexit登记了多个函数 按照登记的逆序调用这些函数 如果一个函数被登记了多次 则程序正常退出时该函数也将被调用多次 然后所有缓冲区中的数据被写回 flushed 所有打开着的流被关闭 tmpfile函数创建的文件被删除 最后 控制权返回给调用环境 返回数值表示程序返回时的状态 0表示EXIT SUCCESS 1表示EXIT FAILURE at quick exit 登记一个函数 当程序使用quick exit正常退出时被登记的函数自动被调用 Exit 程序正常终止 但atexit at quick exit signal 登记的函数不被调用 打开的流 文件是否被关闭 由编译器的实现者决定getenv 获得某一个环境变量的字符串值 如果该环境变量不存在 返回NULL quick exit 程序正常终止 但atexit 登记的函数不被调用 at quick exit 登记的函数按登记顺序的逆序被调用 system 把参数作为外部环境的命令执行 如果参数为空 则判断外部环境是否有命令解释器 搜索与排序bsearch 折半搜索 qsort 快速排序 整数算术abs labs llabs 计算整数的绝对值 div ldiv lldiv 计算整数除法的商与余数 多字节字符 宽字符转换mblen 计算多字节字符的长度并确定是否为有效字符 mbtowc 多字节字符转换为宽字符 wctomb 宽字符转换为多字节字符 多字节字符串 宽字符串转换mbstowcs 多字节字符串转换为宽字符串 wcstombs 宽字符串转换为多字节字符串 取自 https zh wikipedia org w index php title Stdlib h amp oldid 59412293, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。