C标准库源码解剖(14):通用函数stdlib.h

    通用函数库在头文件stdlib.h中声明,比较庞大,主要分为以下几大类:存储分配、随机数生成、数字转换与整型运算、程序退出与环境通信、搜索与排序、多字节与宽字符的转换。由于汲及到存储分配、环境通信等,因此它们的大多数也依赖于操作系统。glibc中,通用函数库的核心实现在stdlib和malloc两个目录下。
   
    stdlib.h中导出的所有标准接口如下:
    1、malloc,calloc,realloc,free:内存分配与释放。分配的内存不进行任何初始化,保证对任何数据类型正确对齐
    2、rand,srand,RAND_MAX:产生伪随机数,rand范围的上限由RAND_MAX指定,至少为32767
    3、atof,atoi,atol,atoll:将字符串的初始部分转换成相应类型的数字。
    4、strtod,strtof,strtold,strtol,strtoll,strtoul,strtoull:同上,但比上面的转换函数更完善。实际上glibc中,上面的几个转换函数都是直接调用这里的函数来实现的。
    5、abort,atexit,exit,_Exit,EXIT_FAILURE,EXIT_SUCCESS:终止程序。exit在终止前会调用用atexit注册的各个函数,而abort和_Exit则不会。
    6、getenv:返回指定环境参数name的对应值。
    7、system:将字符串参数传递到操作系统的shell中,按实现定义的执行它。
    8、qsort,bsearch:qsort对含有count个元素(每个元素的大小为size)的数组base按升序排序、bsearch在数组中搜索元素key。
    9、abs,labs,llabs:返回参数的绝对值。
    10、div,ldiv,lldiv:计算n除以d的商和余数,放在div_t,ldiv_t,lldiv_t结构中返回,结构中的成员quot=n/d,成员rem=n%d。
    11、mblen,mbtowc,wctomb,MB_CUR_MAX:判断s的前n个字节是否是有效的多字节字符、多字节字符s转换成宽字符pwc、宽字符pwc转换成多字节字符s、 MB_CUR_MAX表示多字节字符的最大字节数。
    12、mbstowcs,wcstombs:多字节字符串与宽字符串之间的转换,返回转换后的字符数(不包括null终止符),发现错误则返回-1(转换成size_t)。

你可能感兴趣的:(c,shell,null,System,存储,div)