C语言stdlib.h头文件资料_第1页
C语言stdlib.h头文件资料_第2页
C语言stdlib.h头文件资料_第3页
C语言stdlib.h头文件资料_第4页
C语言stdlib.h头文件资料_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、在头文件Stdlib.h中说明了用于数值转换、内存分配以及具有其他相似任务的函数。atof#includeStdlib.hdoubleatof(conStchar*Str);把字符串str转换成double类型。等价于:strtod(str,(char*)NULL)。atoi#includestdlib.hintatoi(constchar*str);把字符串str转换成int类型。等价于:(int)strtol(str,(char*)NULL,10)。atol#includestdlib.hlongatol(constchar*str);把字符串str转换成long类型。等价于:strtol

2、(str,(char*)NULL,10)。strtod#includestdlib.hdoublestrtod(constchar*start,char*end);把字符串start的前缀转换成double类型。在转换中跳过start的前导空白符,然后逐个读入构成数的字符,任何非浮点数成分的字符都会终止上述过程。如果end不为NULL,则把未转换部分的指针保存在*end中。如果结果上溢,返回带有适当符号的HUGE_VAL,如果结果下溢,那么函数返回0。在这两种情况下,errno均被置为ERANGE。strtol#includelongintstrtol(constchar*start,char

3、*end,intradix);把字符串start的前缀转换成long类型,在转换中跳过start的前导空白符。如果end不为NULL,则把未转换部分的指针保存在*end中。如果radix的值在2到36间之间,那么转换按该基数进行;如果radix为0,则基数为八进制、十进制、十六进制,以0为前导的是八进制,以0 x或0X为前导的是十六进制。无论在哪种情况下,串中的字母是表示10到radix-1之间数字的字母。如果radix是16,可以加上前导0 x或0X。如果结果上溢,则依据结果的符号返回LONG_MAX或LONG_MIN,置errno为ERANGE。strtoul#includeunsigne

4、dlongintstrtoul(constchar*start,char*end,intradix);与strtol()类似,只是结果为unsignedlong类型,溢出时值为ULONG_MAX。rand#includeintrand(void);产生一个0到RAND_MAX之间的伪随机整数RAND_MAX值至少为32767。srand#includevoidsrand(unsignedintseed);设置新的伪随机数序列的种子为seed。种子的初值为1。calloc#includevoid*calloc(size_tnum,size_tsize);为num个大小为size的对象组成的数组分

5、配足够的内存,并返回指向所分配区域的第一个字节的指针;如果内存不足以满足要求则返回NULL。分配的内存区域中的所有位被初始化为0。malloc#includevoid*malloc(size_tsize);为大小为size的对象分配足够的内存,并返回指向所分配区域的第一个字节的指针;如果内存不足以满足要求,则返回NULL。不对分配的内存区域进行初始化。realloc#includevoid*realloc(void*ptr,size_tsize);将ptr指向的内存区域的大小改为size个字节。如果新分配的内存比原内存大,那么原内存的内容保持不变,增加的空间不进行初始化。如果新分配的内存比原内

6、存小,那么新内存保持原内存区中前size字节的内容。函数返回指向新分配空间的指针。如果不能满足要求,则返回NULL,原ptr指向的内存区域保持不变。如果ptr为NULL,则行为等价于malloc(size)。如果size为0,则行为等价于free(ptr)。free#includevoidfree(void*ptr);释放ptr指向的内存空间,若ptr为NULL,则什么也不做。ptr必须指向先前用动态分配函数malloc、realloc或calloc分配的空间。abort#includevoidabort(void);使程序非正常终止。其功能类似于raise(SIGABRT)。exit#inc

7、ludevoidexit(intstatus);使程序正常终止。atexit函数以与注册相反的顺序被调用,所有打开的文件被刷新,所有打开的流被关闭。status的值如何被返回依具体的实现而定,但用0表示正常终止,也可用值EXIT_SUCCESS和EXIT_FAILURE。atexit#includeintatexit(void(*func)(void);注册在程序正常终止时所要调用的函数func。如果成功注册,则函数返回0值,否则返回非0值。system#includeintsystem(constchar*str);把字符串str传送给执行环境。如果str为NULL,那么在存在命令处理程序时

8、,返回0值。如果str的值非NULL,则返回值与具体的实现有关。getenv#includechar*getenv(constchar*name);返回与name相关的环境字符串。如果该字符串不存在,则返回NULL。其细节与具体的实现有关。bsearch#includevoid*bsearch(constvoid*key,constvoid*base,size_tn,size_tsize,int(*compare)(constvoid*,constvoid*);在base0.basenT之间查找与*key匹配的项size指出每个元素占有的字节数。函数返回一个指向匹配项的指针,若不存在匹配则返回

9、NULL。函数指针compare指向的函数把关键字key和数组元素比较,比较函数的形式为:intfunc_name(constvoid*arg1,constvoid*arg2);argl是key指针,arg2是数组元素指针。返回值必须如下:arg1arg2时,返回值arg2时,返回值0。数组base必须按升序排列(与compare函数定义的大小次序一致)。qsort#includevoidqsort(void*base,size_tn,size_tsize,int(*compare)(constvoid*,constvoid*);对由n个大小为size的对象构成的数组base进行升序排序。比较函数compare的形式如下:intfunc_name(constvoid*arg1,constvoie*arg2);其返回值必须如下所示:arglarg2,返回值0。abs#includestdlib.hintabs(intnum);返回int变元num的绝对值。labs#includestdlib.hlonglabs(longintnum);返回long类型变元num的绝对值。div#includestdlib.hdiv_tdiv(intnumerator,intdenominator);返回nu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论