<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Stdlib.h</id>
	<title>Stdlib.h - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Stdlib.h"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Stdlib.h&amp;action=history"/>
	<updated>2026-07-03T15:48:50Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=Stdlib.h&amp;diff=896770&amp;oldid=prev</id>
		<title>210.71.216.241 来自 2024年6月7日 (五) 05:54</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Stdlib.h&amp;diff=896770&amp;oldid=prev"/>
		<updated>2024-06-07T05:54:01Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{lowercase|title=stdlib.h}}&lt;br /&gt;
&lt;br /&gt;
{{C_Standard_library}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;stdlib.h&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt;是[[C标准函数库]]的一個[[头文件]]，声明了数值与字符串转换函数、[[伪随机数]]生成函数、[[动态内存分配]]函数、[[进程控制块|进程控制]]函数等公共函数。 [[C++]]程序应调用等价的&amp;lt;code&amp;gt;cstdlib&amp;lt;/code&amp;gt;头文件.&lt;br /&gt;
&lt;br /&gt;
== 常量==&lt;br /&gt;
&amp;lt;code&amp;gt;stdlib.h&amp;lt;/code&amp;gt;中定义的常量:&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=#e9e9e9&lt;br /&gt;
! 名字!! 值!! 描述&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[[NULL]]&amp;lt;/code&amp;gt; || 一般定义为&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, 或&amp;lt;code&amp;gt;0L&amp;lt;/code&amp;gt;, 或&amp;lt;code&amp;gt;(void*)0&amp;lt;/code&amp;gt; || 表示[[空指针]]常量的[[巨集]]; 换句话说，一个常量用来表示一个总是指向无效的内存地址的指针值。&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EXIT_FAILURE&amp;lt;/code&amp;gt;  || 一个非&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;值 || 用来指示程序失败的结束，一般用于&amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;EXIT_SUCCESS&amp;lt;/code&amp;gt;  || &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; || 用来指示程序成功的结束，一般用于&amp;lt;code&amp;gt;exit()&amp;lt;/code&amp;gt;.. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;RAND_MAX&amp;lt;/code&amp;gt;  || &amp;lt;code&amp;gt;&amp;gt;= 32767&amp;lt;/code&amp;gt; || 函数&amp;lt;code&amp;gt;rand()&amp;lt;/code&amp;gt;所能返回的最大的值.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;MB_CUR_MAX&amp;lt;/code&amp;gt;||   ||当前locale中多字节字符的最大字节数目&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 数据类型 ==&lt;br /&gt;
&amp;lt;code&amp;gt;stdlib.h&amp;lt;/code&amp;gt;中定义的[[数据类型]]：&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=#e9e9e9&lt;br /&gt;
! 名字||描述&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;size_t&amp;lt;/code&amp;gt; || 算子&amp;lt;code&amp;gt;[[sizeof]]&amp;lt;/code&amp;gt;返回结果的数据类型，实际上是无符号整型.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;div_t&amp;lt;/code&amp;gt; ， &amp;lt;code&amp;gt;ldiv_t&amp;lt;/code&amp;gt;，&amp;lt;code&amp;gt;lldiv_t&amp;lt;/code&amp;gt;|| 函数&amp;lt;code&amp;gt;div&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ldiv&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;lldiv&amp;lt;/code&amp;gt;的返回结果的数据类型，实际上是包含两个整数的结构类型.&lt;br /&gt;
|}&lt;br /&gt;
== 函数==&lt;br /&gt;
&amp;lt;code&amp;gt;stdlib.h&amp;lt;/code&amp;gt;中声明的库函数可分为六类：类型转换、伪随机数、动态内存分配与回收管理、进程控制、搜索及排序、简单数学。&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|- bgcolor=#e9e9e9&lt;br /&gt;
! 名字|| 描述&lt;br /&gt;
|- bgcolor=#f2f2f2&lt;br /&gt;
|colspan=2 align=center| 类型转换&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;atof&amp;lt;/code&amp;gt;||把[[字符串]]转换为双精度浮点数。相当于&amp;lt;code&amp;gt;strtod(s, (char**)NULL)&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;atoi&amp;lt;/code&amp;gt;|| 把字符串转换为整型. 相当于&amp;lt;code&amp;gt;(int)strtol(s, (char**)NULL, 10)&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;atol&amp;lt;/code&amp;gt;|| 把字符串转换为长整型. Equivalente a &amp;lt;code&amp;gt;strtol(s, (char**)NULL, 10)&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;atoll&amp;lt;/code&amp;gt;|| 把字符串转换为长长整型. Equivalente a &amp;lt;code&amp;gt;strtol(s, (char**)NULL, 10)&amp;lt;/code&amp;gt;. 这是[[C99]]新增加的库函数。&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;strtod&amp;lt;/code&amp;gt;|| 把字符串转换为双精度浮点数，检查结果是否溢出，并返回字符串不能转换部分的地址.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;strtof&amp;lt;/code&amp;gt;|| 把字符串转换为单精度浮点数，检查结果是否溢出，并返回字符串不能转换部分的地址.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;strtold&amp;lt;/code&amp;gt;|| 把字符串转换为长双精度浮点数，检查结果是否溢出，并返回字符串不能转换部分的地址.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;strtol&amp;lt;/code&amp;gt;|| 把字符串转换为长整型，检查结果是否溢出，并返回字符串不能转换部分的地址.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;strtoll&amp;lt;/code&amp;gt;||把字符串转换为&amp;lt;code&amp;gt;long long int&amp;lt;/code&amp;gt;，检查结果是否溢出，并返回字符串不能转换部分的地址.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;strtoul&amp;lt;/code&amp;gt;||把字符串转换为无符号长整形，检查结果是否溢出，并返回字符串不能转换部分的地址.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;strtoull&amp;lt;/code&amp;gt;||把字符串转换为&amp;lt;code&amp;gt;unsigned long long int&amp;lt;/code&amp;gt;，检查结果是否溢出，并返回字符串不能转换部分的地址.&lt;br /&gt;
|- bgcolor=#f2f2f2&lt;br /&gt;
|colspan=2 align=center| 伪随机数序列生成&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;rand&amp;lt;/code&amp;gt;|| 返回在0到RAND_MAX之间的伪随机数. 不接受参数作为随机数种子，因此产生的伪随机数列相同，有利于程序调试。&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;srand&amp;lt;/code&amp;gt;|| 初始化&amp;lt;code&amp;gt;rand()&amp;lt;/code&amp;gt;接受无符号整型参数作为伪随机数种子.如果种子相同，伪随机数列也相同。&lt;br /&gt;
|- bgcolor=#f2f2f2&lt;br /&gt;
|colspan=2 align=center|  内存的分配与释放&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;aligned_alloc&amp;lt;/code&amp;gt;||边界对齐的动态内存分配.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;calloc&amp;lt;/code&amp;gt;|| 数组的动态内存分配，且初始化为全零&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;malloc&amp;lt;/code&amp;gt;|| 动态内存分配，其内容不初始化&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;realloc&amp;lt;/code&amp;gt;|| 释放老的动态内存块，按照给出的尺寸分配新的动态内存块，老的内存块的内容尽量复制到新的内存块&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;free&amp;lt;/code&amp;gt;|| 系统释放动态分配的内存. 如果是空指针，则无动作发生；如果指针所指不是动态分配的内存块或者是已释放的内存块，则行为是未定义的。&lt;br /&gt;
|- bgcolor=#f2f2f2&lt;br /&gt;
|colspan=2 align=center|  进程控制/与运行环境的沟通&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;abort&amp;lt;/code&amp;gt;||导致程序非正常的结束，各种流缓冲区与临时文件直接放弃。实际上抛出&amp;lt;code&amp;gt;raise(SIGABRT)&amp;lt;/code&amp;gt;，缺省的信号处理行为是使用退出代码3执行终止（terminate）操作。如果&amp;lt;code&amp;gt;SIGABRT&amp;lt;/code&amp;gt;被捕捉且信号处理程序不返回，则程序将不终止. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;atexit&amp;lt;/code&amp;gt;|| 登记一个函数，当程序使用&amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;正常退出时被登记的函数自动被调用. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;|| 程序正常终止。首先&amp;lt;code&amp;gt;atexit()&amp;lt;/code&amp;gt;登记的函数按照登记的逆序被调用；如果多次调用&amp;lt;code&amp;gt;atexit&amp;lt;/code&amp;gt;登记了多个函数，按照登记的逆序调用这些函数。如果一个函数被登记了多次，则程序正常退出时该函数也将被调用多次。然后所有缓冲区中的数据被写回(flushed)；所有打开着的流被关闭；&amp;lt;code&amp;gt;tmpfile&amp;lt;/code&amp;gt;函数创建的文件被删除。最后，控制权返回给调用环境，返回数值表示程序返回时的状态，0表示&amp;lt;code&amp;gt;EXIT_SUCCESS&amp;lt;/code&amp;gt;, 1表示&amp;lt;code&amp;gt;EXIT_FAILURE&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;at_quick_exit&amp;lt;/code&amp;gt;|| 登记一个函数，当程序使用&amp;lt;code&amp;gt;quick_exit&amp;lt;/code&amp;gt;正常退出时被登记的函数自动被调用. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;_Exit&amp;lt;/code&amp;gt;|| 程序正常终止, 但&amp;lt;code&amp;gt;atexit()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;at_quick_exit()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;signal()&amp;lt;/code&amp;gt;登记的函数不被调用; 打开的流、文件是否被关闭，由编译器的实现者决定&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;getenv&amp;lt;/code&amp;gt;|| 获得某一个环境变量的字符串值，如果该环境变量不存在，返回&amp;lt;code&amp;gt;NULL&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;quick_exit&amp;lt;/code&amp;gt;|| 程序正常终止, 但&amp;lt;code&amp;gt;atexit()&amp;lt;/code&amp;gt;, 登记的函数不被调用; &amp;lt;code&amp;gt;at_quick_exit()&amp;lt;/code&amp;gt;登记的函数按登记顺序的逆序被调用。&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;system&amp;lt;/code&amp;gt;||把参数作为外部环境的命令执行。 如果参数为空，则判断外部环境是否有命令解释器。&lt;br /&gt;
|- bgcolor=#f2f2f2&lt;br /&gt;
|colspan=2 align=center|  搜索与排序 &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;bsearch&amp;lt;/code&amp;gt;||折半搜索.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;qsort&amp;lt;/code&amp;gt;||排序.&lt;br /&gt;
|- bgcolor=#f2f2f2&lt;br /&gt;
|colspan=2 align=center|  整数算术&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;abs, labs, llabs&amp;lt;/code&amp;gt; || 计算整数的绝对值.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;div, ldiv, lldiv&amp;lt;/code&amp;gt; || 计算整数除法的商与余数.&lt;br /&gt;
|- bgcolor=#f2f2f2&lt;br /&gt;
|colspan=2 align=center|  多字节字符/宽字符转换&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;mblen&amp;lt;/code&amp;gt; || 计算多字节字符的长度并确定是否为有效字符  .&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt; mbtowc&amp;lt;/code&amp;gt; || 多字节字符转换为宽字符.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt; wctomb&amp;lt;/code&amp;gt; || 宽字符转换为多字节字符.&lt;br /&gt;
|- bgcolor=#f2f2f2&lt;br /&gt;
|colspan=2 align=center|  多字节字符串/宽字符串转换&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt; mbstowcs&amp;lt;/code&amp;gt; || 多字节字符串转换为宽字符串.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt; wcstombs&amp;lt;/code&amp;gt; || 宽字符串转换为多字节字符串.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:C标准库头文件]]&lt;/div&gt;</summary>
		<author><name>210.71.216.241</name></author>
	</entry>
</feed>